Gait coaching in fitness tracking systems

ABSTRACT

A method of providing gait coaching is disclosed. Run data is received and stored regarding runs of a broad and diverse population of users, as well as a more narrow set of expert users. A gait metric model is developed for determining an ideal stride length or cadence based on pace and at least one physiological characteristic. Regression coefficients for at the model are determined based on a regression of the run data from the broad and diverse population of users. In contrast, a regression constant for the model is determined based on a regression of the run data from expert users. Using the model, an ideal stride length or cadence for a particular user on a particular run can be determined and utilized to provide useful monitoring, comparison, and feedback to the user regarding his or her stride length or cadence.

COPYRIGHT

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/150,095, filed Oct. 2, 2018, and entitled “Gait Coaching in FitnessTracking Systems,” the entire content of which is incorporated herein byreference.

FIELD

The device and method disclosed in fitness tracking systems and, moreparticularly, to gait coaching in fitness tracking systems.

BACKGROUND

Activity tracking devices are increasingly utilized by individualsinterested in tracking metrics related to their personal health andfitness activity. These activity tracking devices include, for example,heart rate monitors, step counters, stair counters, global positioningsystem (“GPS”) tracking devices, as well as various other motion andbiometric tracking devices. One of the most popular fitness activitiesfor weight loss and general health is running. However, a common problemfor maintaining a long term running habit is the risk of injury. It iswell established that proper running gait (also referred to herein asrunning form) is one the best ways for runners to minimize the risk ofinjury. Additionally, proper running gait also improves running economyor, in other words, the amount of effort required to run at a givenpace. Unfortunately, typical guidelines for proper running gait fallshort of providing beginner and intermediate runners with the necessarytools to achieve and maintain a proper running gait. Particularly,typical guidelines are one-size-fits-all standards that fail to considerthe unique physiological characteristics of the runner. Furthermore,even with appropriate guidelines, it is challenging for users to knowhow their running gait differs from the recommended gait. Accordingly,for many runners, the typical guidelines may be difficult to apply andsometimes counterproductive. In view of the foregoing, it would beadvantageous to provide a method of gait coaching that was unique to theindividual runner. It would also be advantageous if the method providedthe user with specific guidance for how to change his or her gait toachieve and maintain the proper running gait.

SUMMARY

In accordance with one exemplary embodiment of the disclosures, a methodof displaying run data is disclosed. The method comprises: receivingfirst historical run data regarding runs of a first plurality of users,the first historical run data including, for each run, a gait metric forthe respective run, a pace during the respective run, and at least onephysiological characteristic of the respective user, the gait metricbeing at least one of (i) a stride cadence and (ii) a stride length;determining regression coefficients for at least one gait metric modelby performing a regression of the first historical run data, the atleast one gait metric model being configured to output the gait metricgiven inputs of pace and the at least one physiological characteristic;receiving second historical run data regarding runs of a secondplurality of users, the second historical run data including, for eachrun, the gait metric for the respective run, a pace during therespective run, and the at least one physiological characteristic of therespective user; determining a regression constant for the at least onegait metric model by performing a regression of the second historicalrun data; receiving first run data from an activity monitoring devicecarried by a first user during a first run of the first user;determining the gait metric for the first run based on the first rundata; determining a pace during the first run based on the first rundata; determining a gait metric target for the first run based on the atleast one gait metric model, the determined regression coefficients, thedetermined regression constant, the pace during the first run, and theat least one physiological characteristic of the first user; anddisplaying a comparison of the gait metric with the gait metric targetto the first user on a personal electronic device associated with thefirst user.

Pursuant to another exemplary embodiment of the disclosures, a fitnesstracking system is disclosed. The fitness tracking system comprises adatabase configured to store: first historical run data regarding runsof a first plurality of users, the first historical run data including,for each run, a gait metric for the respective run, a pace during therespective run, and at least one physiological characteristic of therespective user, the gait metric being at least one of (i) a stridecadence and (ii) a stride length; and second historical run dataregarding runs of a second plurality of users, the second historical rundata including, for each run, the gait metric for the respective run, apace during the respective run, and the at least one physiologicalcharacteristic of the respective user. The fitness tracking systemcomprises a data processor in communication with the database, the dataprocessor being configured to: receive the first historical run data andthe second historical run data from the database; determine regressioncoefficients for at least one gait metric model by performing aregression of the first historical run data, the at least one gaitmetric model being configured to output the gait metric given inputs ofpace and the at least one physiological characteristic; determine aregression constant for the at least one gait metric model by performinga regression of the second historical run data; and transmit theregression coefficients and the regression constant for the at least onegait metric model to at least one personal electronic device of at leastone user.

In accordance with yet another exemplary embodiment, a further method ofdisplaying run data is disclosed. The method comprises: receiving firsthistorical run data regarding runs of a first plurality of users, thefirst historical run data including, for each run, a gait metric for therespective run, a pace during the respective run, and at least onephysiological characteristic of the respective user, the gait metricbeing at least one of (i) a stride cadence and (ii) a stride length;determining regression coefficients for at least one gait metric modelby performing a regression of the first historical run data, the atleast one gait metric model being configured to output the gait metricgiven inputs of pace and the at least one physiological characteristic;receiving second historical run data regarding runs of a secondplurality of users, the second historical run data including, for eachrun, the gait metric for the respective run, a pace during therespective run, and the at least one physiological characteristic of therespective user; determining a regression constant for the at least onegait metric model by performing a regression of the second historicalrun data; receiving first real-time run data from an activity monitoringdevice carried by a first user during a first run of the first user;determining a real-time value of the gait metric during the first runbased on the first real-time run data; determining a real-time paceduring the first run based on the first real-time run data; determininga real-time gait metric target during the first run based on the atleast one gait metric model, the determined regression coefficients, thedetermined regression constant, the real-time pace during the first run,and the at least one physiological characteristic of the first user; andproviding perceptible feedback to the first user during the first rundepending on a comparison of the real-time value of the gait metric withthe real-time gait metric target to the first user using a personalelectronic device associated with the first user.

These and other aspects of the disclosure shall become apparent whenconsidered in light of the disclosure provided herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and other features of a fitness tracking systemare explained in the following description, taken in connection with theaccompanying drawings.

FIG. 1 is a diagrammatic view showing an exemplary embodiment of afitness tracking system including activity monitoring devices, anelectronic display device, and a system server.

FIG. 2 is a block diagram of exemplary electronic components in theactivity monitoring devices, the electronic display device, and thesystem server of the fitness tracking system of FIG. 1.

FIG. 3 is a plan view showing an exemplary an activity tracking screenthat enables a user to track performance metrics during a workout.

FIG. 4 is a plan view showing an exemplary a real-time tracking screenthat enables real-time viewing of certain performance metrics during theworkout.

FIG. 5 is a plan view showing a further exemplary a real-time trackingscreen that enables real-time viewing of certain performance metricsduring the workout.

FIG. 6 is a logical flow diagram of a method of generating a gait metricmodel for determining an ideal running gait for a user.

FIG. 7 is a logical flow diagram of a method of processing fitness datacorresponding to a run of a user to provide gait coaching for the user.

FIG. 8 is a plan view showing an exemplary post-workout screen thatdisplays information regarding a run that has been performed by theuser.

FIG. 9 is a plan view showing an exemplary gait coaching screen thatdisplays a comparison of the user's gait with an ideal gait for theuser.

FIG. 10 is a plan view showing an exemplary gait coaching screen thatdisplays general information about the gait metric.

FIG. 11 is a plan view showing an exemplary gait coaching screen thatdisplays gait metric coaching for a next workout.

FIG. 12 is a plan view showing an exemplary gait coaching screen thatdisplays a more detailed comparison of the user's gait with an idealgait for the user.

FIG. 13 is a plan view showing an exemplary gait coaching screen thatdisplays a comparison of the user's gait with an ideal gait for the userover several workouts.

FIG. 14 is a plan view showing a further exemplary gait coaching screenthat displays a comparison of the user's gait with an ideal gait for theuser over several workouts.

FIG. 15 shows a logical flow diagram for a method of processingreal-time fitness data during a run of a user to provide gait coachingfor the user.

FIG. 16A is a plan view showing an exemplary gait coaching screen thatincludes real-time feedback regarding the user's gait as compared withan ideal gait for the user.

FIG. 16B is a plan view showing a further exemplary gait coaching screenthat includes real-time feedback regarding the user's gait as comparedwith an ideal gait for the user.

FIG. 17 is a plan view showing an exemplary form interval screen thatshows information regarding form intervals to be performed during a run.

FIG. 18A is a plan view showing an exemplary form intervals screen thatshows instructs the user to begin an form interval.

FIG. 18B is a plan view showing an exemplary form intervals screen thatshows real-time monitoring of the gait metric during a form interval.

FIG. 19 is a plan view showing an exemplary gait coaching screen that isdisplayed after a run that included form intervals.

All Figures © Under Armour, Inc. 2018. All rights reserved.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying figures which form a part hereof wherein like numeralsdesignate like parts throughout, and in which is shown, by way ofillustration, embodiments that may be practiced. It is to be understoodthat other embodiments may be utilized, and structural or logicalchanges may be made without departing from the scope of the presentdisclosure. Therefore, the following detailed description is not to betaken in a limiting sense, and the scope of embodiments is defined bythe appended claims and their equivalents.

Aspects of the disclosure are disclosed in the accompanying description.Alternate embodiments of the present disclosure and their equivalentsmay be devised without parting from the spirit or scope of the presentdisclosure. It should be noted that any discussion herein regarding “oneembodiment”, “an embodiment”, “an exemplary embodiment”, and the likeindicate that the embodiment described may include a particular feature,structure, or characteristic, and that such particular feature,structure, or characteristic may not necessarily be included in everyembodiment. In addition, references to the foregoing do not necessarilycomprise a reference to the same embodiment. Finally, irrespective ofwhether it is explicitly described, one of ordinary skill in the artwould readily appreciate that each of the particular features,structures, or characteristics of the given embodiments may be utilizedin connection or combination with those of any other embodimentdiscussed herein.

Various operations may be described as multiple discrete actions oroperations in turn, in a manner that is most helpful in understandingthe claimed subject matter. However, the order of description should notbe construed as to imply that these operations are necessarily orderdependent. In particular, these operations may not be performed in theorder of presentation. Operations described may be performed in adifferent order than the described embodiment. Various additionaloperations may be performed and/or described operations may be omittedin additional embodiments.

For the purposes of the present disclosure, the phrase “A and/or B”means (A), (B), or (A and B). For the purposes of the presentdisclosure, the phrase “A, B, and/or C” means (A), (B), (C), (A and B),(A and C), (B and C), or (A, B and C).

The terms “comprising,” “including,” “having,” and the like, as usedwith respect to embodiments of the present disclosure, are synonymous.

Fitness Tracking System

With reference to FIGS. 1-2, an exemplary embodiment of a fitnesstracking system 10 for recording fitness data during an activity orworkout (which may also be referred to herein as the “health trackingsystem” or the “activity tracking system”). The fitness tracking system10 includes at least one activity monitoring device 20 a, 20 b and atleast one electronic display device 30 in communication therewith. In atleast one embodiment, the fitness tracking system 10 further includes aremote system server 40 in communication with at least the electronicdisplay device 30 via a network 50, such as the Internet. The activitymonitoring device(s) 20 a, 20 b are user devices configured to measureone or more health and fitness parameters of a user during an activityor workout and provide fitness data regarding the activity or workout tothe electronic display device 30. In many embodiments, the activitymonitoring device(s) 20 a, 20 b are designed and dimensioned to be wornon or carried by the body of a user. In the illustrated embodiment, theactivity monitoring device 20 a is integrated within a running shoe 12and the activity monitoring device 20 b is in the form of a so-called“smart” watch which is worn on the user's wrist. However, the activitymonitoring devices may also be a designed and dimensioned to be worn bythe user, for example, on his or her waist or ankle. In someembodiments, the fitness tracking system 10 includes further activitymonitoring device(s) associated with the individual user. The electronicdisplay device 30 is in the form of a smartphone and is designed toprocess the fitness data and display it to the user in a format thatsummarizes a user's performance during an activity or workout. In someembodiments, the electronic display device 30 may also collect fitnessdata independently of any dedicated activity monitoring device(s) and,in this way, may function as the activity monitoring device or as one ofthe activity monitoring devices.

The term “fitness data” as used herein refers to data relating to auser's fitness and performance during an activity or workout, but alsodata regarding the user's health and general well-being outside of theactivity or workout, and may also be referred to herein as “fitnessinformation” or “fitness parameters.” Fitness data may include activitydata and physiological data. Fitness data may be in a raw measured formor in a processed form. Fitness data may be automatically measured,sensed, or collected by the activity monitoring devices 20 a, 20 band/or the electronic display device 30, but may also be enteredmanually by the user via the activity monitoring devices 20 a, 20 band/or the electronic display device 30. The term “activity data” asused herein is a subset of fitness data, and refers to data related tophysical activity (i.e., movement or lack thereof) of the user. Examplesof activity data include body motion/acceleration data, step data,stride length data, stride cadence data, foot strike data, distancetraversal data, pace/speed data, altitude data, environmental/positionaldata (such that provided by a GPS receiver), exercise weight/resistancedata, exercise repetition data, and/or any of various other types ofpersonal activity metrics that may be relevant the user's physicalactivity for a given period of time. The term “physiological data” asused herein is a subset of fitness data, and refers to data related tothe physiological status and health of the user. Examples ofphysiological data include age, gender, height, body weight, body fat,heart rate, aspiration rate, blood oxygenation, blood glucose,hydration, caloric expenditure, or any of various other types ofphysiological metrics that may be relevant the user's physiologicalhealth for a given period of time.

While the activity monitoring device(s) 20 a, 20 b are described hereinas the primary devices for collecting and transmitting fitness data tothe electronic display device 30, it will be recognized that additionaldata may also be collected or otherwise obtained and/or input in to theelectronic display device 30 via various other mechanisms. In at leastone embodiment, the user may manually input data directly into theactivity monitoring device 20 b and/or the electronic display device 30.For example, the user may manually collect exercise weight/resistancedata or exercise repetition data and input such data into the activitymonitoring device 20 b and/or the electronic display device 30 withoutthe use of a sensor and/or other device for transmitting the fitnessdata to the electronic display device 30.

Fitness data from the activity monitoring device(s) 20 a, 20 b aredelivered to the electronic display device 30. As represented by thearrow 55 in FIGS. 1 and 2, the activity monitoring device(s) 20 a, 20 bare configured to transmit a wireless RF signal representative of thefitness data collected or obtained thereat to the electronic displaydevice 30. In addition, the fitness data may also be transmitted toadditional computing devices, such as a personal computer and/or alaptop computer where the fitness data may be conveniently displayed forthe user. In other embodiments, a wired connection may be utilized forcommunication of fitness data between the electronic display device 30and the activity monitoring device(s) 20 a, 20 b. Similarly, in anotherembodiment, the fitness data may be transmitted from the activitymonitoring device(s) 20 a, 20 b and/or the electronic display device 30to the system server 40. The data may then be accessed by the user atany number of additional computerized devices via a username andpassword, or other form of identification and authentication of theuser.

The remote system server 40 comprises a computerized device or dataprocessing system configured to run one or more software applications ona processor thereof for storing and processing fitness data. Theactivity monitoring device(s) 20 a, 20 b and electronic display device30 may communicate via the network 55 to the system server 40 forstorage and/or processing of the fitness data, thereby decreasing theprocessing capacity required at either user device (e.g., the activitymonitoring device(s) 20 a, 20 b or electronic display device 30). In atleast one embodiment, the remote system server 40 maintains a databaseof fitness data received from the electronic display device 30 and/orthe activity monitoring device(s) 20 a, 20 b, as well as fitness datareceived from further electronic display devices and/or activitymonitoring devices associated with a plurality of other users.

In at least one embodiment, the transmission of data from the activitymonitoring device(s) 20 a, 20 b to the electronic display device 30 orto the system server 40 occurs automatically without requiring the userto prompt or initiate the transmission. In another embodiment, theactivity monitoring device(s) 20 a, 20 b may be configured to begintransmissions once it receives a confirmation that the electronicdisplay device 30 is within an appropriate range of the activitymonitoring device(s) 20 a, 20 b. In yet another embodiment, datatransmission may occur periodically at predetermined intervals of time.In other embodiments, where communications between the activitymonitoring device(s) 20 a, 20 b and the electronic display device 30 aremade with a wired connection, communications only occur when the wiredconnection is established between the activity monitoring device(s) 20a, 20 b and the electronic display device 30. Similar logic applies tothe transmission of data from the activity monitoring device(s) 20 a, 20b and/or the electronic display device 30 to the system server 40.

Activity Monitoring Devices

With continued reference to FIGS. 1-2, the activity monitoring device(s)20 a, 20 b (which may also be referred to herein as “activity trackingdevices”, or a “sensor devices”) may be provided in any of various formsand is configured to measure, collect and/or otherwise obtain any of thevarious types of fitness data (as discussed above). The fitness dataaccumulated during an activity or workout may be collected automaticallyby a sensor of the activity monitoring device(s) 20 a, 20 b, via manualentry by the user, and/or collected by any of various other means. Atleast the activity monitoring device 20 a, which is integrated with therunning shoe 12, is configured to measure fitness data relating touser's running or walking, in particular the user's gait or form whilerunning or walking. Particularly, the activity monitoring device 20 a isconfigured to measure one or more of steps, distance, speed, stridelength, stride cadence, pronation/supination angles, ground contacttime, foot strike forces/directions, stairs climbed, as well as variousother types of activity data or physiological data. The activitymonitoring device 20 b may be configured to measure additional fitnessdata and/or work in conjunction with the activity monitoring device 20 ato measure the aforementioned data.

As discussed above, in the embodiment shown in FIG. 1, the activitymonitoring device 20 a is provided as a sensor device that is integratedwithin the running shoe 12. In at least one embodiment, the activitymonitoring device 20 a is non-removably embedded in a mid-sole 14 of therunning shoe 12. However, in other embodiments, the activity monitoringdevice 20 a may removably inserted into a portion of the shoe 12 orclipped or otherwise attached to an external surface of the shoe 12. Asused herein, the term “shoe” refers to any type of footwear, such astennis shoes, running shoes, casual shoes, boots, cleats, sandals,socks, or any other apparel, garment, clothing, or the like worn on afoot. In one embodiment, the activity monitoring device 20 a includes aprotective outer shell or housing 22 a designed to retain and protectvarious sensors and other electronic components positioned within thehousing 22 a. The housing 22 a comprise any number of shapes,configurations, and/or materials, the description herein being merelyexemplary. In at least one embodiment, the housing 22 a comprises arelatively rigid shell that securely retains the electronic componentshoused therein.

In the embodiment shown in FIG. 1, the activity monitoring device 20 bis provided as a “smart” watch that the user straps to his or her wrist.The activity monitoring device 20 b includes a protective outer shell orhousing 22 b designed to retain and protect various sensors and otherelectronic components positioned within the housing 22 b. The housing 22b comprise any number of shapes, configurations, and/or materials, thedescription herein being merely exemplary. In one embodiment, thehousing 22 b includes a relatively rigid portion that securely retainsthe electronic components, and a more resilient portion which functionsas an outer layer to provide shock absorption features in the event theactivity monitoring device 20 b is dropped, falls, or otherwisewithstands an amount of force.

It will be recognized that in other embodiments, further activitymonitoring devices may be provided in any of various differentconfigurations to be worn on any of various locations on the body of theuser, such as via a module that clips on to clothing, is worn on a cheststrap, fits in a pocket of the user, and/or is incorporated into agarment other than a shoe. Additional or alternative examples ofactivity monitoring devices include those sold under the trademarksFITBIT®, JAWBONE®, POLAR®, SAMSUNG®, APPLE® and UNDER ARMOUR®.

As shown in FIG. 2, the activity monitoring device(s) 20 a, 20 b includeelectronic circuitry comprising, one or more sensors 26 a, 26 b, aprocessor 27 a, 27 b, a memory 28 a, 28 b, and a transmitter/receiver 29a, 29 b. The activity monitoring device(s) 20 a, 20 b also include abattery or other power source (not shown) configured to power thevarious electronic devices within the activity monitoring device(s) 20a, 20 b. In one embodiment, the battery of the activity monitoringdevice 20 a is a long life non-rechargeable battery designed to lastlonger than the expected life of the shoe 12. In one embodiment, thebattery of the activity monitoring device 20 b is a rechargeablebattery. In this embodiment, the activity monitoring device 20 b may beplaced in or connected to a battery charger configured for use with theactivity monitoring device 20 b in order to recharge the battery.

With continued reference to FIGS. 1-2, the activity monitoring device 20b may also include other features visible on the housing 22 b, such asbuttons 23, a display screen 24, one or more connection ports (notshown), or other input/output hardware and software that operate inconjunction with an I/O interface 25. In the embodiment shown, thebuttons 23 comprise tactile buttons, switches, and/or toggles. However,in other embodiments, the buttons 23 may also comprise capacitive orresistive touch sensor. The display screen 24 may vary based on the typeof device. For example, in the embodiment shown, the display screen 24comprises an LCD or LED screen that provides performance metricinformation (e.g., time, distance, pace, heart rate, progress toward agoal, or some combination thereof, etc.), notifications, text messages,caller ID, etc. to the user. In some embodiments, the display screen 24is a touch screen display that allows the user to provide inputs to theI/O interface 25 via virtual buttons or other interfaces on the touchscreen. Alternatively, in one embodiment, the display screen 24 maysimply be one or more colored lights and/or flashing patterns configuredto communicate information to the user (e.g., progress towards a goal orother performance metric). The connection ports may be used to connectthe activity monitoring device 20 b to a power source or to share datawith other electronic devices. It will be appreciated that in someembodiments, the activity monitoring device 20 a may include similarbuttons, displays, and connection ports (not shown).

The sensors 26 a, 26 b of the activity monitoring device 20 a, 20 b maycomprise any of various devices configured to collect the fitness data,including step data, stride length data, stride cadence data,pronation/supination angle data, ground contact time data, foot strikeforce/direction data, other motion data, distance traversal data, pacedata, GPS data, altitude data, heart rate data, breathing data,environmental/positional data, and/or any of various other types offitness data that may be relevant to determining activities of thewearer. In at least one embodiment, the sensors 26 a of the activitymonitoring device 20 a include a 3-axis accelerometer configured todetect the motions of the wearer during running or walking, inparticular the user's gait or form while running or walking. Of course,it will be recognized by those of ordinary skill in the art thatnumerous other sensors may be used, depending on the type of activitythe respective activity monitoring device 20 a, 20 b is designed todetect.

With continued reference to FIG. 2, the processor 27 a, 27 b may be anyof various microprocessors as will be recognized by those of ordinaryskill in the art. The processor 27 a, 27 b is configured to receive datasignals from the sensors 26 a, 26 b, and other component parts of therespective activity monitoring device 20 a, 20 b (such as data enteredvia the I/O interface 25), and process such signals. The processor 27 a,27 b is connected to the respective memory 28 a, 28 b and the respectivetransmitter/receiver 29 a, 29 b, and may deliver processed data to oneor both of the respective memory 28 a, 28 b and the respectivetransmitter/receiver 29 a, 29 b. Additionally, the processor 27 a, 27 bmay perform some processing on the received data prior to deliverythereof to the respective memory 28 a, 28 b or the respectivetransmitter/receiver 29 a, 29 b. For example, the processor 27 a, 27 bmay associate the fitness data with a particular time, day, user (in theinstance that the device is configured to collect data relating to morethan one user), and/or event. The processor 27 b is also connected tothe I/O interface 25, and may send signals to the I/O interface 25 whichresults in illumination of the display screen 24 in order to providetext and/or image based messages or otherwise communicate to the user

The memory 28 a, 28 b is configured to store information, including bothdata and instructions. The data may be retrieved from the processor 27a, 27 b and generally includes fitness data, but may also includevarious types of operational data that may be ancillary to the basicoperation of the respective activity monitoring device 20 a, 20 b. Theinstructions which are stored at the memory 28 a, 28 b generally includefirmware and/or software for execution by the processor 27 a, 27 b, suchas a program that controls the settings for the sensors 26 a, 26 b, aprogram that controls the output of the display screen 24 on theactivity monitoring device 20 b, a program that controls the receipt ofinformation via the sensors 26 a, 26 b, a program that controls thetransmission and reception of data via the transmitter/receiver 29 a, 29b, as well as any of various other programs that may be associated withthe respective activity monitoring device 20 a, 20 b. Such instructionsmay be present on the device 20 a, 20 b at the time of manufacture ormay be downloaded thereto via well-known mechanisms. The memory 28 a, 28b may be of any type capable of storing information accessible by theprocessor 27 a, 27 b, such as a memory card, ROM, RAM, write-capable,read-only memories, or other computer-readable medium. The data may bestored in the memory 28 a, 28 b in a relational database as a tablehaving a plurality of different fields and records, XML documents, orflat files. The data may also be formatted in any computer-readableformat such as, but not limited to, binary values, ASCII or Unicode.

The transmitter/receiver 29 a, 29 b in one embodiment comprises an RFtransmitter and receiver configured to transmit and receivecommunications signals over a short range using a wirelesscommunications technology, such as Wi-Fi or Bluetooth®, using any ofvarious communications protocols, such as TCP/IP. Suchtransmitter/receivers are well known and will be recognized by those ofordinary skill in the art. The transmitter/receiver 29 a, 29 b isparticularly configured to communicate with the electronic displaydevice 30 when the respective activity monitoring device 20 a, 20 b iswithin a given range of the electronic display device 30, and transmitcollected fitness data to the electronic display device 30.

Electronic Display Device

With continued reference to FIGS. 1-2, the electronic display device 30(also referred to herein as a “display device” or a “personal electronicdevice”) generally includes an input/output interface 36, a processor37, a memory 38, and a transmitter/receiver 39. Additionally, theelectronic display device 30 also includes a battery or other powersource (not shown) configured to power the electronic components withinthe electronic display device 30. In at least one embodiment, theelectronic display device 30 is a handheld mobile computing device, suchas a smartphone. While a smartphone has been shown as the electronicdisplay device 30 in FIGS. 1 and 2, it will be appreciated that theelectronic display device 30 may alternatively comprise any number ofdevices. For example, the electronic display device 30 may be astandalone device, such as a desktop PC, and/or smart television.Alternatively, the electronic display device 30 may be any type ofportable or other personal electronic device such as a watch, tabletcomputer, laptop computer, and/or any of various other mobile computingdevices. As will be recognized by those of ordinary skill in the art,the components of the electronic display device 30 may vary depending onthe type of display device used. Such alternative display devices mayinclude much (but not necessarily all) of the same functionality andcomponents as the electronic display device 30 shown in FIGS. 1 and 2,as well as additional functionality or components necessary for properfunctioning thereof (not shown).

The I/O interface 36 of the electronic display device 30 includessoftware and hardware configured to facilitate communications with theone or more activity monitoring devices 20 and/or communications to theuser him/herself. The hardware includes a display screen 34 configuredto visually display graphics, text, and other data to the user. Thehardware may also include a microphone and/or speakers to facilitateaudio communications with the user and/or verbal entry of commands tothe device 30. In at least one embodiment, the display screen 34 is atouch screen display that allows the user to see data presented on thedisplay screen 34 and input data into the electronic display device 30via a virtual keyboard or other interface on the touch screen. However,other means for receiving user input, such as a physical keyboard, mayalso be provided with equal success.

The processor 37 of the electronic display device 30 may be any ofvarious processors as will be recognized by those of ordinary skill inthe art. The processor 37 is connected to the I/O interface 36, thememory 38, and the transmitter/receiver 39, and is configured to deliverdata to and/or receive data from each of these components. It will berecognized by those of ordinary skill in the art that a “processor” asused herein includes any hardware system, hardware mechanism or hardwarecomponent that processes data, signals, and/or other information. Aprocessor can include a system with a central processing unit, multipleprocessing units, dedicated circuitry for achieving functionality,and/or other systems.

The memory 38 is configured to store information, including both dataand instructions. The data may be, for example, fitness data asdiscussed above, which may be related to the activities, workouts,health and fitness profile, etc. of the user, along with otheroperational data that may be ancillary to the basic operation of theelectronic display device 30 and any applications retained on theelectronic display device 30. The instructions which are stored at thememory 38 generally include firmware, an operating system, and/or othersoftware for execution by the processor 37, such as one or more programsthat control the settings for the electronic display device, one or moreprograms that control the output of the display screen 34 on theelectronic display device 30, one or more programs that control variousapplications on the electronic display device 30, one or more programsthat control the transmission and reception of data via thetransmitter/receiver 39, as well as any of various other programs thatmay be associated with the electronic display device 30. In at least oneembodiment, the instructions stored in the memory 38 include aclient-side activity tracking application, discussed in greater detailbelow, which is executed by the processor 37 to process fitness data andpresent the fitness data in a graphical format on the display screen 34.The memory 38 may be of any type of device capable of storinginformation accessible by the processor, such as a memory card, ROM,RAM, write-capable memories, read-only memories, hard drives, discs,flash memory, or any of various other computer-readable medium servingas data storage devices, as will be recognized by those of ordinaryskill in the art.

The transmitter/receiver 39 is, in one embodiment, an RF transmitter andreceiver configured to transmit and receive communications signals usinga wireless communications technology, such as Wi-Fi or Bluetooth®, usingany of various communications protocols, such as TCP/IP. Suchtransmitter/receivers are well known and will be recognized by those ofordinary skill in the art. The transmitter/receiver 39 is particularlyconfigured to communicate with a transmitter/receiver 29 a, 29 b of theactivity monitoring device(s) 20 a, 20 b. In at least one embodiment,the transmitter/receiver 39 is configured to allow the electronicdisplay device 30 to communicate with a wireless telephony network, aswill be recognized by those of ordinary skill in the art. The wirelesstelephony network may comprise any of several known or future networktypes. For example, the wireless telephony network may comprise commonlyused cellular phone networks using CDMA or FDMA communications schemes.Some other examples of currently known wireless telephony networksinclude Wi-Fi, WiMax, GSM networks, as well as various other current orfuture wireless telecommunications arrangements.

As discussed above, in at least some embodiments, the electronic displaydevice 30 also functions as a further activity monitoring device andcollects certain fitness data independent of the dedicated activitymonitoring devices 20 a, 20 b. Particularly, in at least one embodiment,the electronic display device 30 includes a GPS receiver 31 configuredto record a global position of the user during an activity or workout.Additionally, in some embodiments, the electronic display device 30 alsoincludes sensors, such as a 3-axis accelerometer, altimeter, etc. (notshown), configured to record fitness data during an activity or workout.

In at least one embodiment, the electronic display device 30 includes acamera 33 having at least one photo-sensitive element configured tocapture an image and/or video of the surroundings. The processor 37 isconfigured to operate the camera 33 to capture the image and/or video,to receive the image and/or video from the camera 33, and to store theimage and/or video in the memory 38. A user may initiate capture of theimage and/or video by pressing virtual buttons (not shown) on thedisplay screen 34 or by pressing physical buttons (not shown) of theelectronic display device 30.

The electronic display device 30 generally includes a protective outershell or housing 32 designed to retain and protect the electroniccomponents positioned within the housing 32. The housing 32 may compriseany number of shapes, configurations, and/or materials, the descriptionherein being merely exemplary. In at least one embodiment, the housing32 includes a relatively rigid portion that securely retains theelectronic components, and a more resilient portion which functions asan outer layer to provide shock absorption features in the event thedevice 30 is dropped, falls, or otherwise withstands an amount of force.In embodiments wherein the electronic display device 30 also functionsas a further activity monitoring devices, the housing 32 may serve as acommon housing for components of the electronic display device 30 andcomponents of the further activity monitoring device.

In at least one embodiment, the instructions stored in the memory 38 ofthe electronic display device 30 includes a client-side activitytracking application (which may also be referred to herein as the“workout tracking application”), which is executed by the processor 37to provide a graphical user interface that enables the user to track,view, and manage his or her fitness data. An exemplary client-sideactivity tracking application will be discussed in further detail below.In some embodiments, the memory 28 b of the activity monitoring device20 b may also include instructions corresponding to the client-sideactivity tracking application, and may work in combination with theelectronic display device 30 to provide the features of the client-sideactivity tracking application.

System Server

With reference to FIG. 2, the remote system server 40. The system server40 of FIG. 2 is typically provided in a housing, cabinet or the like 42that is configured in a typical manner for a server or related computingdevice. The system server 40 includes a processor 47, memory 48, and anetwork communications module 49. It is appreciated that the embodimentof the system server 40 shown in FIG. 2 is only one exemplary embodimentof a system server 40. As such, the exemplary embodiment of the systemserver 40 of FIG. 2 is merely representative of any of various mannersor configurations of system servers or other data processing systemsthat are operative in the manner set forth herein.

The processor 47 is operative, configured and/or adapted to operate thesystem server 40 including the features, functionality, characteristicsand/or the like as described herein. To this end, the processor 47 isoperably connected to the memory 48 and the network communicationsmodule 49. It will be recognized by those of ordinary skill in the artthat a “processor” as used herein includes any hardware system, hardwaremechanism or hardware component that processes data, signals, and/orother information. A processor can include a system with a centralprocessing unit, multiple processing units, dedicated circuitry forachieving functionality, and/or other systems.

The memory 48 may be of any type of device capable of storinginformation accessible by the processor, such as a memory card, ROM,RAM, write-capable memories, read-only memories, hard drives, discs,flash memory, or any of various other computer-readable medium servingas data storage devices as will be recognized by those of ordinary skillin the art. The memory 48 is configured to store instructions includinga network-side activity tracking application for execution by theprocessor 47, as well as a database of fitness data 44 and expertfitness data 46 for use by at least the network-side activity trackingapplication. As discussed in greater detail below, the processor 47 isconfigured to collect and store fitness data 44 and/or expert fitnessdata 46 relating to a plurality of workouts of a plurality of users ofthe fitness tracking system 10.

The network communications module 49 of the system server 40 provides aninterface that allows for communication with any of various devicesusing various means. In particular, the network communications module 49includes a local area network port that allows for communication withany of various local computers housed in the same or nearby facility. Insome embodiments, the network communications module 49 further includesa wide area network port that allows for communications with remotecomputers over the network 50 (e.g., the Internet). Alternatively, thesystem server 40 communicates with the network 50 via a modem and/orrouter of the local area network. In one embodiment, the networkcommunications module is equipped with a Wi-Fi transceiver or otherwireless communications device. Accordingly, it will be appreciated thatcommunications with the system server 40 may occur via wiredcommunications or via the wireless communications. Communications may beaccomplished using any of various known communications protocols.

The system server 40 may further include a power module (not shown)which is operative, adapted and/or configured to supply appropriateelectricity to the system server 40 (i.e., including the variouscomponents of the system server 40). The power module may operate onstandard 120 volt AC electricity, but may alternatively operate on otherAC voltages or include DC power supplied by a battery or batteries.

The system server 40 may be accessed locally by an authorized user(i.e., an administrator or operator). To facilitate local access, thesystem server 40 may include an interactive user interface (not shown).Via the user interface, an operator may access the instructions,including the network-side activity tracking application, and maycollect data from and store data to the memory 48. In at least oneembodiment, the user interface may suitably include an LCD touch screenor the like, a mouse or other pointing device, a keyboard or otherkeypad, speakers, and a microphone, as will be recognized by those ofordinary skill in the art. Accordingly, the user interface is configuredto provide an administrator or other authorized user with access to thememory 48 and allow the authorized user to amend, manipulate and displayinformation contained within the memory.

Activity Tracking Application

The client-side activity tracking applications, stored in the memory 38of the electronic display device 30 and/or the memory 28 b of theactivity monitoring device 20 b, at least includes instructions forenabling a user to track a plurality of performance metrics during anactivity or workout. Particularly, the activity tracking applicationincludes instructions for collecting and processing fitness data duringan activity or workout to provide various performance metrics to theuser. The term “performance metric” as used herein refers to anystandard of measurement relevant to an assessment of the performance,fitness, and health of the user during an activity or workout, or seriesof activities or workouts. In some cases, the raw measured fitness datais processed substantially to provide a performance metric, but in othercases, measured fitness data may simply be organized into a morepresentable form to provide the performance metric. Performance metricscan be generally be considered a further type of fitness data, asdefined above. Some examples of performance metrics include heart ratesensor data expressed as beats per minute during an activity or workout,acceleration data expressed a total number of steps during an activityor workout, GPS data expressed as a total distance traversed during anactivity or workout, GPS data expressed as positions over time and/or aroute/path of the user during an activity or workout, GPS data expressedas an speed/pace over time or average speed/pace during an activity orworkout, GPS data or altimeter data expressed as an elevation over timeduring an activity or workout, fitness data expressed as an estimatednumber of calories burned, time data expressed a total amount of timespent during an activity or workout, and fitness data express as a totalnumber of workouts or number of workouts during a particular time period(e.g., workouts per week). Further exemplary performance metrics mayinclude any parameter of fitness data expressed as an average over aparticular duration of time (e.g. the duration of the workout), as adata plot over the particular duration of time, as a maximum or minimumover the particular duration of time, as a value for some point in timeof particular interest, or as a percentage of a user's health or fitnessgoal or other standard.

FIG. 3 shows an exemplary embodiment of an activity tracking screen 100a that is displayed on the display screen 34 of the electronic displaydevice 30 to enable a user to track a plurality of performance metricsduring an activity or workout. The processor 37 executes instructions ofthe activity tracking application stored in the memory 38 to display theactivity tracking screen 100 a on the display screen 34. The activitytracking screen 100 a at least includes a start option 102 (e.g., “StartWorkout”) that enables the user of the electronic display device 30 toinitiate collection of fitness data during an activity or workout.Particularly, in response to the user pressing the start option 102, theprocessor 37 is configured to initiate collection of fitness data by anysensors of the electronic display device 30, such as the GPS receiver 31and/or initiate reception of fitness data from the activity monitoringdevice(s) 20 a, 20 b. In some embodiments, the activity tracking screen100 a includes workout settings option 104 that, when pressed, causesthe processor 37 to display an additional menu on the display screen 34via which the user can choose a type of workout (e.g., walk, run, roadcycling, mountain bike, etc.), as well as choose other settings for theworkout (e.g., coaching, voice feedback, delay start timer, geartracking, and other workout settings).

FIG. 4 shows an exemplary embodiment of a real-time tracking screen 100b that is displayed on the display screen 34 of the electronic displaydevice 30 to enable to real-time viewing of certain performance metricsduring the activity or workout. Particularly, in at least oneembodiment, in response to the user pressing the start option 102 of theactivity tracking screen 100 a, the processor 37 executes instructionsof the activity tracking application to display the real-time trackingscreen 100 b on the display screen 34, which is different from theactivity tracking screen 100 a. The real-time tracking screen 100 bincludes at least one performance metric that is displayed in real timeduring the activity or workout. Particularly, in the embodiment shown,the real-time tracking screen 100 b includes performance metrics 106 and108 (e.g., a “13:16” value for the “DURATION” performance metric and a“0.70” value for the “DISTANCE (MI)” performance metric). In oneembodiment, the real-time tracking screen 100 b further includes aexpand button 114 that, when pressed by the user, causes the processor37 to display an expanded view on the display screen 34 that showsvalues for additional performance metrics in real time during theactivity or workout. Additionally, as shown in FIG. 3, the activitytracking screen 100 a may also show the metrics 106 and 108 and theexpand option 114.

Returning to FIG. 4, the real-time tracking screen 100 b includes a map116 of a geographical area surrounding the electronic display device 30.The processor 37 is configured to receive global position data from aGPS receiver of the electronic display device 30 or of an activitymonitoring device(s) 20 a, 20 b and overlay onto the map 116 in realtime a current location 118, a starting location 120, and a route 122for the current activity or workout. Additionally, as shown in FIG. 3,the activity tracking screen 100 a may also show the map 116 and thecurrent location 118. In some embodiments, the activity tracking screen100 a also includes a route option 124 that, when pressed, causes theprocessor 37 to display an additional menu on the display screen 34 viawhich the user can select a route for a previous workout. In response toa selection of the previous route, the processor 37 is configured tooverlay the previous route (not shown) onto the map 116 of the real-timetracking screen 100 b and/or the activity tracking screen 100 a.

Finally, the real-time tracking screen 100 b includes a pause/end option128 which enables the user to pause and end tracking of the plurality ofperformance metrics during the activity or workout. In one embodiment,in response to the user pressing the pause/end option 128, the processor37 stops collecting fitness data and displays a menu (not shown) on thedisplay screen 34 from which the user can either resume the tracking theworkout or end the workout. In at least one embodiment, once the userhas ended the workout, the processor 37 is configured to performadditional processing of the collected fitness data to provideadditional performance metrics to the user.

In addition to the screens 100 a and 100 b, which are shown on thedisplay screen 34 of the electronic display device 30, in someembodiments, the user can interact with the activity trackingapplication via an interface of the activity monitoring device(s) 20 a,20 b. Particularly, in at least one embodiment, the user can start andstop the tracking of the activity or workout using an interface of theactivity monitoring device 20 b. In one embodiment, the user can pressone of the buttons 23 of the activity monitoring device 20 b to begintracking a workout. More particularly, in response to the user pressingone of the buttons 23, the processor 27 b is configured to initiatecollection of fitness data by the sensors 26 b of the activitymonitoring devices 20 b and, optionally, transmit a start command to theelectronic display device 30 using the transmitter/receiver 29. Inresponse to receiving the start command, the processor 37 of theelectronic display device 30 is configured to initiate collection offitness data by any sensors of the electronic display device 30, such asthe GPS receiver 31 and/or initiate reception of fitness data from otheractivity monitoring device(s) 20 a. Similarly, the user can press one ofthe buttons 23 of the activity monitoring device 20 b to end and/orpause tracking of the workout. Particularly, in response to the userpressing one of the buttons 23 again, the processor 27 b is configuredto stop collecting fitness data from sensors 26 b of the activitymonitoring devices 20 b and, optionally, transmit a pause and/or endcommand to the electronic display device 30 using thetransmitter/receiver 29. In response to receiving the pause and/or endcommand, the processor 37 of the electronic display device 30 stopscollecting fitness data. In one embodiment, the user taps one of thebuttons 23 to pause tracking and either taps one of the buttons 23 againto restart tracking or taps another of the buttons 23 to end tracking.In one embodiment, in response to the ending of the collection offitness data, the processor 37 of the electronic display device 30 isconfigured to operate the transmitter/receiver 39 to transmit thefitness data to the system server 40 for processing.

FIG. 5 shows an exemplary embodiment of a real-time tracking screen 100c that is displayed on the display screen 24 of the activity monitoringdevice 20 b to enable to real-time viewing of certain performancemetrics during the activity or workout. Particularly, in response to theuser pressing the start option 102 of the activity tracking screen 100 aor in response to the user pressing one of the buttons 23, the processor27 b executes instructions of a client-side activity trackingapplication to display the real-time tracking screen 100 c on thedisplay screen 34. The real-time tracking screen 100 c includes at leastone performance metric that is displayed in real time during theactivity or workout. Particularly, in the embodiment shown, thereal-time tracking screen 100 c includes performance metrics 130, 132,134 and 136 (e.g., a “8:32” value for the “PACE” performance metric, a“76.3” value for the “STRIDE (IN)” performance metric, a “178” value forthe “CADENCE (SPM)” performance metric, and a “164” value for the “BPM”or heart rate performance metric). In one embodiment, the real-timetracking screen 100 c further includes a clock 138 that shows a currenttime of day or a current time since a start of the activity or workout.

Methods for Gait Coaching

Methods for operating the fitness tracking system 10 are describedbelow. In particular, methods of operating the electronic display device30 and/or the activity monitor device(s) 20 a, 20 b to provide runninggait coaching. In the description of the methods, statements that amethod is performing some task or function refers to a controller orgeneral purpose processor executing programmed instructions stored innon-transitory computer readable storage media operatively connected tothe controller or processor to manipulate data or to operate one or morecomponents in the fitness tracking system 10 to perform the task orfunction. Particularly, the processor 37 of the electronic displaydevice 30, the processor 47 of the system server, and/or the processor27 a, 27 b of the activity monitoring device(s) 20 a, 20 b above may besuch a controller or processor. Alternatively, the controller orprocessor may be implemented with more than one processor and associatedcircuitry and components, each of which is configured to form one ormore tasks or functions described herein. Additionally, the steps of themethods may be performed in any feasible chronological order, regardlessof the order shown in the figures or the order in which the steps aredescribed.

Method of Modeling Ideal Gait Metrics

FIG. 6 shows a logical flow diagram for a method 200 of generating agait metric model for determining an ideal running gait for a user.Particularly, the method 200 provides at least one gait metric modelthat is used to determine an ideal value for at least one gait metricfor a particular user. As used herein, the term “gait metric” is a typeof performance metric referring to any standard of measurement relevantto an assessment of a gait or form of a user while running or walking.Exemplary gait metrics may include stride length, stride cadence orfrequency, pace, ground contact time, pronation/supination angles, andfoot strike forces/directions. The method 200 improves upon thefunctioning of the processor 47 of the system server 40 and/or theprocessor 37 of the electronic display device 30 by providing a gaitmetric model that advantageously incorporates running data from a broaddiverse population of users, but also specifically considers runningdata from expert runners. Particularly, the ‘shape’ of the gait metricmodel is determined based on running data from a broad diversepopulation of users, thereby providing a robust estimation of how paceand physiological characteristics such height, age, weight, and sexinfluence the value for the at least one gait metric. At the same time,the offset and/or Y-axis intercept of the gait metric model isdetermined based on expert running data from a more limited set ofexpert users, thereby providing a better indication of what an optimaland/or efficient value for the at least one gait metric.

The method 200 begins with a step of receiving first historical run dataregarding runs of a first plurality of users, the first historical rundata including, for each run, a gait metric for the respective run, apace during the respective run, and at least one physiologicalcharacteristic of the respective user, the gait metric being at leastone of (i) a stride cadence and (ii) a stride length (block 210).Particularly, with respect to the embodiments described in detailherein, the processor 47 of the system server is configured to executeinstructions of the network-side activity tracking application toreceive and/or read from the memory 48 fitness data 44 corresponding toa plurality of runs of a plurality of users (which may also be referredto as “run data”), which was received from a plurality of electronicdisplay devices (e.g., the electronic display device 30) and/or activitytracking devices (e.g., the activity tracking devices 20 a, 20 b).Particularly, as discussed above, the client-side activity trackingapplication of the electronic display device 30 and/or the activitytracking device 20 b enables a user to collect fitness data during anactivity, such as running. After a run has been completed, the processor37 of the electronic display device 30 and/or the processor 27 b of theactivity tracking device 20 b is configured to operate thetransmitter/receiver 39 and/or the transmitter/receiver 29 b to transmitthe fitness data to the system server 40 for processing and storage.

Over time, the processor 47 of the system server 40 is configured toreceive, and store in the memory 48, fitness data 44 corresponding to alarge number of runs performed by a broad and diverse population ofusers. For each run, the collected fitness data 44 comprises apace/speed during the respective run, at least one physiologicalcharacteristic of the respective user, and at least one gait metric forthe respective run. In at least one embodiment, the at least onephysiological characteristic includes a height of the respective user, asex of the respective user, a weight of the respective user, and/or anage of the respective user. In at least one embodiment, the at least onegait metric is a stride cadence or frequency during the respective runand/or a stride length during the respective run. In furtherembodiments, the at least one gait metric may include ground contacttime and/or foot strike forces/directions.

The method 200 continues with a step of determining regressioncoefficients for at least one gait metric model by performing aregression of the first historical run data, the at least one gaitmetric model being configured to output the gait metric given inputs ofpace, and the at least one physiological characteristic (block 220).Particularly, the processor 47 of the system server 40 is configured toexecute instructions of the network-side activity tracking applicationto generate at least one gait metric model, equation, and/or functionconfigured to output a target value for a gait metric based on inputs atleast including a pace and at least one physiological characteristic. Inone embodiment, the at least one gait metric model is configured tooutput the target value for the gait metric based on inputs at leastincluding a pace, a height, an age, a sex, and a weight. In someembodiments, the at least one gait metric model is configured to outputa target value for one of stride length and stride cadence. In someembodiments, the processor 47 is configured to generate a plurality ofgait metric models, each configured to output a target value for adifferent gait metric (e.g., stride cadence, stride, ground contacttime, and foot strike forces or directions) based on inputs at leastincluding a pace and at least one physiological characteristic (e.g.,height, age, sex, and weight).

The processor 47 is configured to generate the at least one gait metricmodel based on the fitness data 44 corresponding to a large number ofruns performed by a broad and diverse population of users. Particularly,in at least one embodiment, the fitness data 44 includes datacorresponding to inputs (e.g., pace, height, age, sex, and weight) andthe outputs (e.g., stride cadence, stride, ground contact time, and footstrike forces or directions) of the at least one gait metric model. Theprocessor 47 is configured to perform a regression of the fitness data44 to determine a plurality of regression coefficients and, optionally,a regression constant. Particularly, in one embodiment, each gait metricmodel takes the form of equation 1:

gait metric=A*height+B*weight+C*sex+D*age+E*pace+F*pace² +G  (1),

where A, B, C, D, E, and F are regression coefficients and G is aregression constant. We note that, as used herein the term “regressioncoefficient” refers to a value that is multiplied by a variable inputterm in the gait metric model and the term “regression constant” refersto a value that is added or subtracted in the gait metric model.Additionally, it will be appreciated that the regression coefficientsdefine the ‘shape’ of the model, whereas the regression constant definesthe offset or so-called ‘Y-intercept’ of the model. As can be seen inequation 1, the influence of pace on the target value for the gaitmetric is expressed in a polynomial manner by including both a pace termand a pace² term. In other embodiments, the influence of other inputsmay also be expressed with higher ordered terms or in a polynomialmanner.

The processor 47 is configured to determine and store in the memory 48 aset of regression coefficients A, B, C, D, E, and F for each gait metricmodel. Thus, for example, if the at least one gait metric model includesa stride length model and a stride cadence model, then a unique set ofregression coefficients A, B, C, D, E, and F are determined and storedfor each gait metric model. Additionally, a value for the regressionconstant G may also be determined in the regression of the fitness data44. However, as discussed below, this value for the regression constantG will be replaced and/or updated based on a further regression of amore limited set of expert fitness data 46.

The method 200 continues with a step of receiving second historical rundata regarding runs of a second plurality of users, the secondhistorical run data including, for each run, the gait metric for therespective run, a pace during the respective run, and the at least onephysiological characteristic of the respective user (block 230).Particularly, the processor 47 of the system server 40 is configured toexecute instructions of the network-side activity tracking applicationto receive and/or read from the memory 48 expert fitness data 46corresponding to a plurality of runs of a plurality of expert users(which may also be referred to as “expert run data”). The plurality ofexpert users comprises a limited set of runners considered to be expertsat running. In one embodiment, the expert fitness data 46 is a manuallycurated set of fitness data which is similar to the fitness data 44, butcorresponds only to runs performed by expert runners. In anotherembodiment, the expert fitness data 46 is a subset of the fitness data44 corresponding only to runs performed by users who have recorded apredetermined threshold number of runs (e.g. users who have recordedfitness data for over 100 runs) or have met some other criteriaindicative of running expertise. In either case, the expert fitness data46 differ from the fitness data 44 in that, rather than corresponding toa large number of runs performed by a broad and diverse population ofusers, the expert fitness data 46 corresponds to a more limited numberof runs performed by a more narrowly defined population of expertrunners.

The method 200 continues with a step of determining a regressionconstant for at least one gait metric model by performing a regressionof the second historical run data (block 240). Particularly, theprocessor 47 of the system server 40 is configured to executeinstructions of the network-side activity tracking application to modifythe at least one gait metric model, discussed above, based on the expertfitness data 46 corresponding to the more limited number of runsperformed by the more narrowly defined population of expert runners.Particularly, in at least one embodiment, much like the fitness data 44,the expert fitness data 46 includes data corresponding to inputs (e.g.,pace, height, age, sex, and weight) and the outputs (e.g., stridecadence, stride, ground contact time, and foot strike forces ordirections) of the at least one gait metric model. The processor 47 isconfigured to perform a regression of the expert fitness data 46 todetermine at least a regression constant for the at least one gaitmetric model. Particularly, in the exemplary embodiment in which eachgait metric model takes the form of equation 1 above, the processor 47is configured to perform a regression of the expert fitness data 46 todetermine the value G. Any initial value for G previous determined basedon the previous regression of the fitness data 44 may be ignored and/orupdated. The processor 47 is configured to determine and store in thememory 48 a regression constant G for each gait metric model. Thus, forexample, if the at least one gait metric model includes a stride lengthmodel and a stride cadence model, then a unique value for G isdetermined and stored for each model.

In at least one embodiment, the processor 47 is configured to transmitthe values for the regression coefficients and the regression constantto the electronic display device 30 and/or the activity monitoringdevice(s) 20 a, 20 b for usage of the at least one gait metric modelthereat.

In summary, the values of the regression coefficients A, B, C, D, E, andF are determined based on a regression of the fitness data 44, whereasthe regression constant G is determined based on a regression of theexpert fitness data 46. As a result, the ‘shape’ of each gait metricmodel is determined based on running data from a broad diversepopulation of users, thereby providing a robust estimation of how paceand physiological characteristics such height, age, weight, and sexinfluence the value for the corresponding gait metric (e.g., stridecadence, stride, ground contact time, and foot strike forces ordirections). At the same time, the offset and/or Y-axis intercept ofeach gait metric model is determined based on running data from a morelimited set of expert users, thereby providing a better indication ofwhat an optimal and/or efficient value for the at least one gait metric.

It will be appreciated that, if the regression coefficients A, B, C, D,E, and F and the regression constant G were all determined based only ona regression of the fitness data 44, the resulting gait metric modelwould be one that predicts an expected value for the corresponding gaitmetric, rather than an optimal and/or efficient value for thecorresponding gait metric. Similarly, if the regression coefficients A,B, C, D, E, and F and the regression constant G were all determinedbased only on a regression of the expert fitness data 46, the resultinggait metric model would lack a robust understanding of how physiologicalcharacteristics such height, age, weight, and sex influence thecorresponding gait metric, because the more limited set of expertrunners are likely to have much less diverse physiologicalcharacteristics than the broader population. Accordingly, the gaitmetric model developed according to the method 200 is clearly improvedcompared to models developed from a regression of a single data set.

Method of Providing Coaching of Ideal Gait Metrics

FIG. 7 shows a logical flow diagram for a method 300 of processingfitness data corresponding to a run of a user to provide gait coachingfor the user. Particularly, the method 300 utilizes the gait metricmodel of the method 200 to determine an ideal value for at least onegait metric for a particular user and to provide comparisons andfeedback to the user. The method 300 improves upon the functioning ofthe processor 37 of the electronic display device 30 and/or theprocessor 27 a, 27 b of the activity monitoring device(s) 20 a, 20 b byadvantageously providing the runner with an evaluation of his or herrunning gait in comparison with an optimal running gait that isdetermined based on the particular physiological characteristics of theindividual and based on the particular pace of the individual run. Inthis way, the user can be confident in how to modify his or her runninggait during his or her next run.

It will be appreciated that, although the method 300 is discussed belowprimarily with respect to the processor 37 of the electronic displaydevice 30, at least the processor 27 b of the activity monitoring device20 b, which is provided in the form of a so-called “smart” watch, mayalso execute instructions of a client-side activity tracking applicationto perform some or all of the steps of the method 300. Additionally, insome embodiments, the processor 47 of the system server 40 may executeinstructions of a network-side activity tracking application to performcertain steps of the method 300.

The method 300 begins with a step of receiving first run data from anactivity monitoring device associated with a first user, the activitymonitoring device having at least one biometric sensor configured tomeasure the first run data during a first run of the first user (block310). Particularly, with respect to the embodiments described in detailherein, the processor 37 of the electronic display device 30 isconfigured to execute instructions of the client-side activity trackingapplication to receive fitness data corresponding to a run of a userfrom the activity monitoring device(s) 20 a, 20 b and any sensors of theelectronic display device 30. In some embodiments, as discussed above,in response to the user pressing the start option 102 (see FIG. 3) or inresponse to the user pressing the appropriate button 23 of the activitymonitoring device 20 b, the processor 37 is configured to initiatecollection of the fitness data by any sensors of the electronic displaydevice 30, such as the GPS receiver 31, and/or initiate reception of thefitness data from the activity monitoring device(s) 20 a, 20 b. In atleast one embodiment, the processor 37 is configured to receive thefitness data in real time during the run. In at least one embodiment,the received fitness data includes data such as accelerometer data, stepdata, stride data, and/or position data, from which a pace of the runand at least one gate metric for the run can be determined.

The method 300 continues with a step of determining a gait metric forthe first run based on the first run data, the gait metric being atleast one of (i) a stride cadence and (ii) a stride length (block 320).Particularly, the processor 37 is configured to execute instructions ofthe client-side activity tracking application to calculate a value forat least one gait metric for the run based on the received fitness datacorresponding to the run. In at least one embodiment, the processor 37is configured to calculate an average value for at least one gait metricfor the run based on the received fitness data corresponding to the run.In at least one embodiment, the processor 37 is configured to calculatea plurality of timestamped values for at least one gait metric over theduration of the run based on the received fitness data corresponding tothe run. In at least one embodiment, the processor 37 is configured tocalculate real-time values for the at least one gait metric based onfitness data received in real time during the run. In one embodiment,the processor 37 is configured to calculate the at least one gait metricfor the run based on acceleration data or the like received from thesensors 26 a of the activity monitoring device 20 a. In at least oneembodiment, the at least one gait metric is one or more of a stridelength over time, an average stride length, a stride cadence over time,and an average stride cadence. In further embodiments, the at least onegait metric may further include ground contact time and/or foot strikeforces or directions.

The method 300 continues with a step of determining a pace during thefirst run based on the first run data (block 330). Particularly, theprocessor 37 is configured to execute instructions of the client-sideactivity tracking application to calculate a pace/speed of the run basedon the received fitness data corresponding to the run. In at least oneembodiment, the processor 37 is configured to calculate an averagepace/speed of the run based on the received fitness data correspondingto the run. In at least one embodiment, the processor 37 is configuredto calculate a plurality of timestamped values for pace/speed over theduration of the run based on the received fitness data corresponding tothe run. In at least one embodiment, the processor 37 is configured tocalculate real-time values for pace/speed based on fitness data receivedin real time during the run. In one embodiment, the processor 37 isconfigured to calculate the pace of the run based on position datareceived from the GPS receiver 31. In another embodiment, the processor37 is configured to calculate the pace of the run based on accelerationdata, speed data, position data, or the like received from the sensors26 a of the activity monitoring device 20 a.

The method 300 continues with a step of determining a gait metric targetfor the first run based on at least one gait metric model, determinedregression coefficients of the at least one gait metric model, adetermined regression constant of the at least one gait metric model,the pace during the first run, and at least one physiologicalcharacteristic of the first user (block 340). Particularly, theprocessor 37 is configured to execute instructions of the client-sideactivity tracking application to calculate a target value for the atleast one gate metric using at least one gait metric model (i.e. one ormore of the gait metric models developed in the method 200, above) basedon the determined pace and at least one physiological characteristic ofthe user. Particularly, the processor 37 is configured to receive thecalculated regression coefficients (e.g., A, B, C, D, E, and F ofequation 1) and regression constant (e.g., G of equation 1) for the atleast one gait metric model from the system server 40 and/or read thecalculated regression coefficients and regression constant from thememory 38. Using the at least one gait metric model, the processor 37 isconfigured to calculate a target value for the at least one gait metricbased on the determined pace and at least one physiologicalcharacteristic of the user. In one embodiment, the at least onephysiological characteristic of the user includes a height of the user,an age of the user, a sex of the user, and/or a weight of the user. Theat least one physiological characteristic may be stored in the memory 38in association with a user profile of the user or received from thesystem server 40. In one embodiment, target value for the at least onegate metric include a target value for stride length and/or a targetvalue for stride cadence. In further embodiments, target value for theat least one gate metric may further include a target value for groundcontact time and/or a target value for foot strike force or direction.

As illustrated in more detail below, the target values can take variousforms. Particularly, in at least one embodiment, the target values areaverage target values that are determined using an average pace for therun. In at least one embodiment, the target values are a plurality oftimestamped target values over the duration of the run that aredetermined using a plurality of timestamped pace values over theduration of the run. In at least one embodiment, the target values arereal-time target values that are determined using real-time pace valuesduring the run. In at least one embodiment, the processor 37 isconfigured to determine a target range around the target value for thegait metric. In one embodiment, a size of the range around the targetvalue for the gait metric depends on a confidence factor of the at leastone gait metric model. In one embodiment, a size of the range around thetarget value for the gait metric is predetermined for each type of gaitmetric model.

The method 300 continues with a step of displaying a comparison of thegait metric with the gait metric target to the first user on a personalelectronic device associated with the first user (block 350).Particularly, the processor 37 is configured to execute instructions ofthe client-side activity tracking application to display a comparison ofthe determined value for the at least one gait metric with the targetvalue for the at least one gait metric. In at least one embodiment, theprocessor 37 is configured to display a comparison of the average valuefor the at least one gait metric for the run with the target averagevalue for the at least one gait metric for the run. In at least oneembodiment, the processor 37 is configured to display a comparison inthe form of a graph of the plurality of timestamped values for the atleast one gait metric over the duration of the run with the plurality oftimestamped target values for the at least one gait metric over theduration of the run. In at least one embodiment, the processor 37 isconfigured to display a comparison of the real-time value for the atleast one gait metric during the run with the real-time target value forthe at least one gait metric during the run. In at least one embodiment,the processor 37 is configured to display a comparison of the determinedvalue for the at least one gait metric with a predetermined range aroundthe target value for the at least one gait metric. In at least oneembodiment, the processor 37 is configured to operate the display screen34 of the electronic display device to display the comparison. Inanother embodiment, the processor 27 b is configured to operate thedisplay screen 24 of the activity monitoring device 20 b to display thecomparison.

In at least one embodiment, the processor 37 is configured to enable theuser to view the comparison of the determined gait metric value with thegait metric target value after the run has already been performed via apost-workout screen of the client-side activity tracking application.

Exemplary Post-Workout Gait Metric Comparison and Analysis

FIG. 8 shows an exemplary post-workout screen 400 displayed on thedisplay screen 34 of the electronic display device 30, which displaysinformation regarding a run that has been performed by the user. Thepost-workout screen 400 includes a title 402 (e.g. “Shiner Beer Run HalfMarathon”), which may be generated automatically or chosen by the user,and a time/date 404 (e.g., “Saturday, Nov 18 at 8:31 am”) that indicatesthe time and date at which the run was performed. The post-workoutscreen 400 further includes an activity type label 406 (e.g., “Activity:Run”) that indicates a type of activity that was performed. Thepost-workout screen 400 further includes a map 408 showing a route 410of the run, which was determined by the processor 37 using position datacorresponding to the run, such as from the GPS receiver 31. Thepost-workout screen 400 further includes a notes section 412 havingnotes or other text regarding the run entered by the user (e.g., “1sthalf in the books! Sub-2 hour goal smashed”). In many embodiments, thepost-workout screen 400 further includes information regarding aplurality of performance metrics for the run (not shown). In oneembodiment, the user can view the plurality of performance metrics forthe run by scrolling up or down within the post-workout screen 400.

The post-workout screen 400 includes gait coaching banner 414 (e.g.,“You Have a Personalized Coach Tip! Tap Here to View”), which can bepressed by the user to display gait coaching information including thecomparison of the determined gait metric value with the gait metrictarget value. Particularly, in response the user pressing or otherwiseselecting the coaching banner 414, the processor 37 is configured tooperate the display screen 34 to display one or more gait coachingscreens of the client-side activity tracking application which comparethe user's gait with an ideal gait for the particular user, and provideguidance for how to adjust his or her gait to achieve the ideal gait. Itwill be appreciated that, in some embodiments, the processor 27 b isconfigured to operate the display screen 24 of the activity monitoringdevice 20 b to display an analogous post-workout screen and/or gaitcoaching screens.

FIG. 9 shows an exemplary gait coaching screen 500 a displayed on thedisplay screen 34 of the electronic display device 30, which displays acomparison of the user's gait with an ideal gait for the user. The gaitcoaching screen 500 a includes a title 502 (e.g. “Killer Downtown Run”),which may be generated automatically or chosen by the user, a time/date504 (e.g., “Saturday, Jun 6 at 3:57 pm”) that indicates the time anddate at which the run was performed, an encouragement message 506 (e.g.,“NICE RUN, CATHERINE!”), and a gait metric comparison 508.

The gait metric comparison 508 includes a gait metric 510 having a valueand label (e.g., a value “168” for the “AVG CADENCE” gait metric) and agait metric target 512 having a value and label (e.g., a value “172-188”for the “TARGET RANGE”). The gait metric 510 shows the value (e.g., 168steps per minute) of one of the determined gait metrics for the run (seeblock 320 of FIG. 7). The gait metric target 512 shows the determinedtarget value (e.g., 180 steps per minute) and/or a predetermined range(e.g., 180±8 steps per minute or 172-188 steps per minute) around thedetermined target value for the gait metric (see block 340 of FIG. 7).In the illustrated embodiment, the gait metric 510 shows an averagevalue for the run and the gait metric target 512 shows an average targetvalue for the run.

The gait metric comparison 508 further includes a title 514 (e.g., “YOURCADENCE”) and a comparison summary 516 (e.g., “OUTSIDE OF RANGE”). Thetitle 514 indicates which gait metric or gait metrics that are thesubject of the gait metric comparison 508. The comparison summary 516includes a short summary of how the runner's gait metric (e.g., cadenceor stride length) compares with the corresponding target value for thegait metric. In one embodiment, the processor 37 is configured todisplay a first summary (e.g., “OUTSIDE OF RANGE”) in response to thedetermined gait metric (e.g., 168 steps per minute) being outside of afirst predetermined range around (e.g., ±8 steps per minute) thedetermined gait metric target value (e.g., 180 steps per minute). In oneembodiment, the processor 37 is configured to display a second summary(e.g., “IN RANGE”) in response to the determined gait metric (e.g., 173steps per minute) being within the first predetermined range (e.g., ±8steps per minute) around the determined gait metric target value (e.g.,180 steps per minute). In one embodiment, the processor 37 is configuredto display a third summary (e.g., “IDEAL RANGE”) in response to thedetermined gait metric (e.g., 178 steps per minute) being within asecond predetermined range (e.g., ±3 steps per minute) around thedetermined gait metric target value (e.g., 180 steps per minute) that issmaller than the first predetermined range.

The gait metric comparison 508 further includes gait metric tips 518(e.g., “Your cadence is slower than expected for your height and pace.”and “This may impact your injury risk. On your next run, keep yourposture upright and take faster steps”). In at least one embodiment, thememory 38 stores a plurality of possible messages to include in the gaitmetric tips 518. In one embodiment, over several runs the processor 37is configured to select which messages to include in the gait metrictips 518 according to a predetermined sequence. In one embodiment, theprocessor 37 is configured select at least some of the possible messagesto include in the gait metric tips 518 depending on whether thedetermined gait metric is greater than or less than the determined gaitmetric target. In one embodiment, the processor 37 is configured selectat least some of the possible messages to include in the gait metrictips 518 depending on whether the determined gait metric is within orwithout the first predetermined range (e.g., ±8 steps per minute) aroundthe determined gait metric target value or within the secondpredetermined range (e.g., ±3 steps per minute), as similarly describedwith respect to the comparison summary 516.

In some embodiments, the processor 37 is configured select at least someof the possible messages to include in the gait metric tips 518depending special circumstances of the run (e.g., the run was on atreadmill or the run was on a hill). For example, since it is known thata treadmill impacts running gait for most runners, the processor 37 isconfigured select unique messages for the gait metric tips 518 whenrecords a treadmill run (e.g., “It's common for runners to see adecrease in their cadence when on a treadmill, so next time make anextra effort to think ‘quick feet! ’”). Similarly, if analysis of therun data reveals that the run was performed on a hill, the processor 37is configured select unique messages for the gait metric tips 518 whenrecords a hill run (e.g., “It's common for a runners to see a decreasein stride length when running up hill, so next time make an extra effortto maintain a consistent stride length when going up a hill.”).

In some embodiments, the processor 37 is configured select the messagesincluded in the encouragement message 506, the comparison summary 516,and/or the gait metric tips 518 depending not only the gait metric 510and gait metric target 512 for the particular run, but also on theperformance of the user during a previous run. Particularly, themessages included in the encouragement message 506, the comparisonsummary 516, and/or the gait metric tips 518 may include a ‘follow up’message that relates the user's performance to his or her previousperformance. For example, if during the previous run the user'sdetermined gait metric fell below the respective gait metric targetrange but during this particular run the user's determined gait metricfell within the target range or was closer to the target range, then theencouragement message 506 or the comparison summary 516 might include amessage that acknowledges that the user has now achieved his or hertarget gait metric (e.g., “You increased you cadence. Good Job!”).Similarly, if during the previous run the user's determined gait metricfell within the respective gait metric target range but during thisparticular run the user's determined fell outside the target range, thenthe gait metric tips 518 might include a tip that points out that thegait metric is trending in the wrong direction (e.g., “On this run, yourstride length is longer than expected for your height and pace. Stridelength can vary run to run but, this may impact your injury risk. Onyour next run, try to match the form of your previous run.”).

As discussed above the at least one gait metric model may includeindividual models for several different gait metrics. Particularly, thegait metric models may include a stride cadence model, a stride lengthmodel, a ground contact time model, and a foot strike model. In oneembodiment, after each run performed by the user, the processor 37 isconfigured to select which gait metric to be subject of the gaitcoaching screen 500 a based on a how many runs the user has recorded.For example, in one embodiment, for the first predetermined number ofruns (e.g., 15 runs), the gait coaching screen 500 a may only relate tostride length or stride cadence, but after the predetermined number ofruns, more advanced gait metrics may be introduced, such as groundcontact time and foot strike. In one embodiment, over several runs theprocessor 37 is configured to select which gait metric to be subject ofthe gait coaching screen 500 a according to a predetermined sequence.

FIG. 10 shows an exemplary gait coaching screen 500 b displayed on thedisplay screen 34 of the electronic display device 30, which displaysgeneral information about the gait metric. In one embodiment, the usercan view the gait coaching screen 500 b by scrolling up or down from thegait coaching screen 500 a. The gait coaching screen 500 b includesgeneral tips section 520. The general tips section 520 includes asection label 522 (e.g., “RUNNING FORM TIPS”) and a title 524 (e.g.,“WHAT IS CADENCE?”) indicating the subject matter of the providedinformation. The general tips section 520 furthers includes generalinformation 526 which provides general information or advice regardingthe particular gait metric or about running form in general (e.g.,“Cadence is the total number of steps you take per minute. Cadence isone of the two factors that make up your running speed—the other isstride length”). In at least one embodiment, the memory 38 stores aplurality of possible messages to include in the general information526. In one embodiment, the processor 37 is configured to select whichmessage to include in the general information 526 based on a how manyruns the user has recorded. In one embodiment, over several runs theprocessor 37 is configured to select which message to include in thegeneral information 526 according to a predetermined sequence.

FIG. 11 shows an exemplary gait coaching screen 500 c displayed on thedisplay screen 34 of the electronic display device 30, which displaysgait metric coaching for a next workout. In one embodiment, the user canview the gait coaching screen 500 c by scrolling up or down from thegait coaching screens 500 a or 500 b. The gait coaching screen 500 cincludes a title 528 (e.g., “FOR YOUR NEXT WORKOUT”) and subtitle 530(e.g., “FIND YOUR CADENCE”) which indicate the nature of the gait metriccoaching for a next workout. The gait coaching screen 500 c includesgait metric tips 532, which are similar to the gait metric tips 518 ofthe gait coaching screen 500 a. The gait coaching screen 500 c includesgait metric target 534 having a value and label (e.g., a value “172-188”for the “TARGET RANGE”), which is similar to the gait metric target 512of the gait coaching screen 500 a.

The gait coaching screen 500 c further includes a projected pace input536 having a value and label (e.g., a value “8:10” for the “PROJECTEDAVG PACE”), as well as adjustment options 538 (e.g., plus and minusbuttons) which can be pressed by the user to adjust the value of theprojected pace input 536. In response to the user adjusting the value ofthe projected pace input 536, the processor 37 is configured torecalculate the target value for the gait metric and/or the range aroundthe target value based on the value of the projected pace input 536 inthe same manner described above with respect to block 340 of FIG. 7. Inthis way, the user can better understand how his or her pace affects thetarget value for the gait metric.

Finally, the gait coaching screen 500 c further includes a reminderoption 540 having a check box and a description (e.g., “Remind Me BeforeNext Workout” and “Get a reminder about what your cadence should bebefore your next workout”). In response to the user selecting the checkbox of the reminder option 540, the processor 37 is configured todisplay a reminder which includes the gait metric target 534 to the userbefore his or her next workout. In one embodiment, the processor 37 isconfigured to display the reminder in response to the user pressing thestart option 102 (see FIG. 3) or in response to the user pressing theappropriate button 23 of the activity monitoring device 20 b thatinitiates tracking of a workout.

In some embodiments, the gait coaching will change over time as the userrecords more runs and becomes a more experienced runner. Particularly,in one embodiment, if the user has recorded run data for less than apredetermined number of runs (e.g., less than 5 runs), then theprocessor 37 is configured to display the gait coaching screen 500 ahaving the gait metric comparison 508 in which an average of the gaitmetric in is displayed in comparison with an average of the gait metrictarget for the respective run. However, if the user has recorded rundata for greater than or equal to the predetermined number of runs, thenthe processor 37 is configured to display a gait coaching screen havinga more detailed comparison of the gait metric with the gait metrictarget. Alternatively, in some embodiments, the processor 37 isconfigured to process the run data to determine whether the runner hasachieved a stable and/or consistent gait metric. In one embodiment, ifthe user has not yet achieved a stable and/or consistent gait metric,then the processor 37 is configured to display the gait coaching screen500 a. However, if the user has achieved a stable and/or consistent gaitmetric, then the processor 37 is configured to display the gait coachingscreen having the more detailed comparison of the gait metric with thegait metric target. In at least one embodiment, the more detailed gaitmetric comparison is in the form of a graph depicting the gait metric incomparison with the gait metric target over time during the respectiverun.

FIG. 12 shows an exemplary gait coaching screen 500 d displayed on thedisplay screen 34 of the electronic display device 30, which displays amore detailed comparison of the user's gait with an ideal gait for theuser. Much like the gait coaching screen 500 a the gait coaching screen500 d includes the title 502 (e.g. “Killer Downtown Run”), which may begenerated automatically or chosen by the user, the time/date 504 (e.g.,“Saturday, Jun 6 at 3:57 pm”) that indicates the time and date at whichthe run was performed, and the encouragement message 506 (e.g., “NICERUN, CATHERINE!”). However, the gait coaching screen 500 d includes agait metric comparison 542 which is more detailed than the gait metriccomparison 508 of the gait coaching screen 500 a.

The gait metric comparison 542 includes a title 544 (e.g., “YOURCADENCE”), a comparison summary 546 (e.g., “87% IN TARGET RANGE”), and agait metric tips 548 (e.g., “As your speed fluctuates up or down, yourcadence should also fluctuate up or down”). The title 514 indicateswhich gait metric or gait metrics are the subject of the gait metriccomparison 542. The comparison summary 546 includes a short summary ofhow the runner's gait metric (e.g., cadence or stride length) compareswith the corresponding target value for the gait metric. In oneembodiment, the processor 37 is configured to calculate a percentage oftime during the run that the user's gait metric was within apredetermined range of the target value for the gait metric and thecomparison summary indicates the percentage (e.g., 87%). The gait metrictips 548, which are similar to those of previously described gaitcoaching screens, provide coaching or advice regarding the gait metric,such as a message indicating how the gait metric should change over timewith changes in pace/speed.

The gait metric comparison 542 includes a graph 550 which depicts a gaitmetric value 552 over time during the run in comparison with a range 554around the gait metric target value over time during the run. In oneembodiment, the processor 37 is configured to determine, for a pluralityof different timestamped gait metric values, whether the gait metric iswithin or without a first predetermined range (e.g., ±8 steps perminute) around the gait metric target value or within a secondpredetermined range (e.g., ±3 steps per minute) that is smaller than thefirst predetermined range.

In one embodiment, the processor 37 is configured to shade or color therange 554 different depending on the whether the gait metric is withinor without the first predetermined range or within the secondpredetermined range. The gait metric comparison 542 includes a legend556 which indicates the meaning of the shading or coloring of the range554. In one embodiment, the processor 37 is configured to display aregion of the range 554 with a first shading or coloring (e.g., “OUT OFRANGE”) in response to the determined gait metric being outside of thefirst predetermined range around (e.g., ±8 steps per minute) thedetermined gait metric target value. In one embodiment, the processor 37is configured to display a region of the range 554 with a second shadingor coloring (e.g., “IN RANGE”) in response to the determined gait metricbeing within the first predetermined range (e.g., ±8 steps per minute)around the determined gait metric target value. In one embodiment, theprocessor 37 is configured to display a region of the range 554 with athird shading or coloring (e.g., “IDEAL RANGE”) in response to thedetermined gait being within the second predetermined range (e.g., ±3steps per minute) around the determined gait metric target value.

FIG. 13 shows an exemplary gait coaching screen 500 e displayed on thedisplay screen 34 of the electronic display device 30, which displays acomparison of the user's gait with an ideal gait for the user overseveral workouts. In one embodiment, the user can view the gait coachingscreen 500 e by scrolling up or down from the gait coaching screen 500d. The gait coaching screen 500 e includes a gait metric comparison 558.The gait metric comparison 558 includes a title 560 (e.g., “LAST 4WORKOUTS”), a subtitle 562 (e.g., “TIME SPENT IN RANGE”), and a gaitmetric tips 564 (e.g., “Congratulations on staying within you idealcadence range. Staying within your ideal cadence range allows you to runmore efficiently.”). The title 560 and subtitle 562 indicate whichworkouts and/or gait metrics are the subject of the gait metriccomparison 558. The gait metric tips 564, which are similar to those ofpreviously described gait coaching screens, provide coaching or adviceregarding the gait metric and/or encouragement and congratulationsregarding the user's performance.

The gait metric comparison 558 includes a plurality of columnscorresponding to different runs that have been recorded by the user. Inone embodiment, the columns correspond to the most recent predeterminednumber (e.g., 4) of runs. Each column includes a date label 566 (e.g.,“FEB 28,” “MAR 3,” “MAR 8,” and “MAR 12”) which indicates the dateand/or time of the respective run. Each column includes a distanceperformance metric 568 (e.g., “3.51 MI,” “3.51 MI,” “3.51 MI,” and “3.51MI”) which indicates the distance traveled during the respective run andan average pace performance metric 570 (e.g., “AVG PACE” of “8:23,”“8:28,” “8:48,” and “9:03”) which indicates the average pace/speedduring the respective run. Each column includes a first comparison 572of a first gait metric with its respective target range (e.g., “TIME INCADENCE RANGE (%)” of “87,” “68,” “84,” and “97”) and a secondcomparison 574 of a second gait metric with its respective target range(e.g., “TIME IN STRIDE LENGTH RANGE (%)” of “71,” “57,” “76,” and “88”).In one embodiment, the processor is configured to shade, color, orotherwise mark the comparisons 572 and 574 depending on values of thecomparisons (e.g., the percentages, as illustrated). In the illustratedembodiment, each percentage value of the comparisons 572 and 574 isencompassed by a circle having a size that is dependent on thepercentage value.

FIG. 14 shows an exemplary gait coaching screen 500 f displayed on thedisplay screen 34 of the electronic display device 30, which displays acomparison of the user's gait with an ideal gait for the user overseveral workouts. In one embodiment, the user can view the gait coachingscreen 500 f by scrolling up or down from the gait coaching screens 500d or 500 e. The gait coaching screen 500 f includes a gait metriccomparison 576. The gait metric comparison 576 includes a title 578(e.g., “CADENCE TRENDS”), a comparison summary 580 (e.g., “TRENDINGUP”), and a gait metric tips 582 (e.g., “Congratulations on stayingwithin you ideal cadence range. Staying within your ideal cadence rangeallows you to run more efficiently.”). The title 578 indicates whichgait metrics or workouts are the subject of the gait metric comparison576. The comparison summary 580 includes a short summary of how therunner's gait metric (e.g., cadence or stride length) compares with thecorresponding target value for the gait metric or how the comparison haschanged over several workouts. The gait metric tip 582, which aresimilar to those of previously described gait coaching screens, providecoaching or advice regarding the gait metric and/or encouragement andcongratulations regarding the user's performance.

The gait metric comparison 576 includes a graph 584 which depicts gaitmetric values 586 for a plurality of workouts in comparison with a range588 around gait metric target values for a plurality of workouts. In theillustrated embodiment, the gait metric value 586 for each workout date590 is depicted as a small circle and the bounds of the range 588 aredepicted as dashed lines. In one embodiment, the gait metric values 586and dates 590 correspond to the most recent predetermined number (e.g.,4) of runs.

In some embodiments, gait coaching can be provided to the user inreal-time during a run. Particularly, in one embodiment, the processor27 b of the activity monitoring device is configured to providereal-time comparisons and feedback with respect to one or more gaitmetrics during a run. In some embodiments, the processor 27 b of theactivity monitoring device 20 b is configured to operate the displayscreen 24 to display the real-time comparisons and feedback. In furtherembodiments, the processor 27 b may be configured to provide thereal-time comparisons and feedback to the user audibly using an audiodevice such as a speaker or headphones worn by the user.

Method of Providing Real-Time Gait Metric Feedback

FIG. 15 shows a logical flow diagram for a method 600 of processingreal-time fitness data during a run of a user to provide gait coachingfor the user. Particularly, the method 600 utilizes the gait metricmodel of the method 200 to determine an ideal value for at least onegait metric for a particular user and to provide real-time feedback tothe user. The method 600 improves upon the functioning of the processor37 of the electronic display device 30 and/or the processor 27 a, 27 bof the activity monitoring device(s) 20 a, 20 b by advantageouslyproviding the runner with a real-time evaluation of his or her runninggait in comparison with an optimal running gait that is determined basedon the particular physiological characteristics of the individual andbased on the real-time pace during the run. In this way, the user canmore easily learn to run with an ideal and efficient gait.

The method 600 begins with a step of receiving first real-time run datafrom an activity monitoring device associated with a first user, theactivity monitoring device having at least one biometric sensorconfigured to measure the first real-time run data during a first run ofthe first user (block 610). Next, the method 600 continues with steps ofdetermining a real-time value of a gait metric during the first runbased on the first real-time run data, the gait metric being at leastone of (i) a stride cadence and (ii) a stride length (block 620) anddetermining a real-time pace during the first run based on the firstreal-time run data (block 630). The method 600 continues with a step ofdetermining a real-time gait metric target during the first run based onat least one gait metric model, determined regression coefficients ofthe at least one gait metric model, a determined regression constant ofthe at least one gait metric model, the real-time pace during the firstrun, and at least one physiological characteristic of the first user(block 640). The steps 610, 620, 630, and 640 of the method 600 areessentially similar to the steps 310, 320, 330, and 340 of the method300 described in detail above, except that the steps are performed inreal-time during a run using real-time fitness data. Accordingly, thesteps 610, 620, 630, and 640 of the method 600 are not described againin detail. Furthermore, as with the method 300, it will be appreciatedthat one or both of the processor 37 of the electronic display device 30and the processor 27 b of the activity monitoring device 20 b mayexecute instructions of a client-side activity tracking application toperform some or all of the steps of the method 600. Additionally, insome embodiments, the processor 47 of the system server 40 may executeinstructions of a network-side activity tracking application to performcertain steps of the method 600.

The method 600 continues with a step of providing perceptible feedbackto the first user depending on a comparison of the real-time value ofthe gait metric with the real-time gait metric target to the first userusing a personal electronic device associated with the first user (block650). Particularly, the processor 37 of the electronic display device 30and/or the processor 27 b of the activity monitoring device 20 b isconfigured to execute instructions of the client-side activity trackingapplication to provide real-time perceptible feedback to the userdepending on a comparison of the determined value for the at least onegait metric with the target value for the at least one gait metric. Inat least one embodiment, the processor 37 is configured to operate thedisplay screen 34 of the electronic display device to display thefeedback. In another embodiment, the processor 27 b is configured tooperate the display screen 24 of the activity monitoring device 20 b todisplay the feedback. In one embodiment, the processor 37 and/or theprocessor 27 b is configured to operate an audio device of one of thedevices 30 and/or 20 b (not shown), such as a speaker or headphones, toprovide the feedback audibly.

In at least one embodiment, the processor 37 and/or the processor 27 bis configured to display a comparison of the real-time value for the atleast one gait metric during the run with the real-time target value forthe at least one gait metric during the run. In at least one embodiment,the processor 37 and/or the processor 27 b is configured to display acomparison of the real-time value for the at least one gait metric witha predetermined range around the real-time target value for the at leastone gait metric.

In at least one embodiment, the processor 37 and/or the processor 27 bis configured to provide a feedback message instructing the user toadjust the gait metric (e.g., stride length or cadence) up or down inresponse to the real-time value for the at least one gait metric beingoutside a predetermined range of the real-time target value for the atleast one gait metric. In at least one embodiment, the processor 37and/or the processor 27 b is configured to provide a feedback messageinstructing the user to maintain the real-time target value for the atleast one gait metric at one of (i) a defined time during the run and(ii) a defined distance traveled during the run. In at least oneembodiment, the processor 37 and/or the processor 27 b is configured todetermine the defined time during the run and/or the defined distancetraveled during the run based on an analysis of fitness datacorresponding to previously recorded runs of the user.

Exemplary Real-Time Gait Method Feedback

FIG. 16A shows an exemplary gait coaching screen 700 a displayed on thedisplay screen 24 of the activity monitoring device 20 b, which includesreal-time feedback regarding the user's gait as compared with an idealgait for the user. The gait coaching screen 700 a includes a feedbackmessage 702 (e.g., “INCREASE YOUR CADENCE!”) and a real-time gait metric704 having a value and a label (e.g., a value “164” for the “CADENCE(SPM)” gait metric). In one embodiment, the processor 37 and/or theprocessor 27 b is configured to provide the feedback message 702 inresponse to the value for the real-time gait metric 704 being less thana lower bound of the predetermined range (e.g., more than 5 steps perminute below) around the real-time target value for the gait metric. Inone embodiment, the processor 37 and/or the processor 27 b is configuredto provide a different feedback message (e.g., “DECREASE YOUR CADENCE!”)in response to the value for the real-time gait metric 704 being greaterthan an upper bound of the predetermined range (e.g., more than 5 stepsper minute over) around the real-time target value for the gait metric.In one embodiment, the processor 37 and/or the processor 27 b isconfigured to provide a different feedback message (e.g., “MAINTAIN THISCADENCE!”) in response to the value for the real-time gait metric 704being within the predetermined range (e.g., within ±8 steps per minute)around the real-time target value for the gait metric. Alternatively, insome embodiments, no feedback message is displayed in response to thevalue for the real-time gait metric 704 being within the predeterminedrange around the real-time target value for the gait metric.

FIG. 16B shows a further exemplary gait coaching screen 700 b displayedon the display screen 24 of the activity monitoring device 20 b, whichincludes real-time feedback regarding the user's gait as compared withan ideal gait for the user. The gait coaching screen 700 b includes afeedback message 706 (e.g., “You tend to drift around Mile 3. Keep focusthrough the rest of your run”) and a dismiss button 708 (e.g., “OK”). Inat least one embodiment, the processor 37 and/or the processor 27 b isconfigured to provide the feedback message 706 at a defined time duringthe run or at a defined distance traveled during the run. In at leastone embodiment, the processor 37 and/or the processor 27 b is configuredto determine the defined time during the run and/or the defined distancetraveled during the run based on an analysis of fitness datacorresponding to previously recorded runs of the user. For example, ifanalysis of previous run indicates that the gait metric of the usertypically drifts at a particular time or distance traveled (e.g. at mile3), the processor 37 and/or the processor 27 b is configured to displaya feedback message reminding the user to maintain the target value forthe gait metric a time briefly before the particular time or shortlybefore the particular distance (e.g., the reminder may be provided at2.8 miles traveled). As another example, in the case that the user isrunning a predefined course or route that that he or she has already runbefore and analysis of previous run on the predefined course or routeindicates that the gait metric of the user typically drifts at aparticular location or distance on the predefined course or route (e.g.at mile 3 or during a 3^(rd) lap) the processor 37 and/or the processor27 b is configured to display a feedback message reminding the user tomaintain the target value for the gait metric a time briefly before theparticular location or distance on the predefined course or route (e.g.,the reminder may be provided at 2.8 miles travel on the route or beforethe 3^(rd) lap).

In one embodiment, during a run, the processor 37 and/or the processor27 b is configured to provide an instruction to the user to maintain thetarget value for the at least one gait metric during a particularinterval of time during the run (herein after referred to as “formintervals”). During the form interval, the processor 37 and/or theprocessor 27 b is configured to monitor whether the real-time value ofthe least one gait metric is within the predetermined range of real-timetarget value for the at least one gait metric. In one embodiment, theprocessor 37 and/or the processor 27 b is configured to provide afeedback message indicating whether the real-time value of the gaitmetric is within predetermined range during the form interval. In oneembodiment, the processor 27 b is configured to operate the displayscreen 24 to display a comparison of the real-time value of the gaitmetric with the real-time gait metric target during the form interval.These form intervals motivate the user to focus on their runninggait/form for a limited interval of time. By instructing the user tofocus on their running form during short bursts of time, the user isbetter able to understand and contrast how it feels to run with an idealgait and can more easily adopt the ideal gait as his or her normalrunning form.

FIG. 17 shows an exemplary form interval screen 800 a displayed on thedisplay screen 24 of the activity monitoring device 20 b, which showsinformation regarding form intervals to be performed during a run. Theform intervals screen 800 includes a title 802 (e.g., “TODAY'S GOAL”), agraphical depiction of a sequence of form intervals 804 (e.g., a timeplot showing a chronological sequence of form intervals 1, 2, and 3),and form interval information 806 (e.g., “3 Cadence Intervals” and “1:00Each”). In one embodiment, the processor 27 b is configured to displaythe form intervals screen 800 a in response to the user initiating thetracking of a workout in the various manners discussed above. In oneembodiment, the processor 27 b is configured to display the formintervals screen 800 a during a warm up phase and/or walking phase ofthe workout, prior to the particular intervals of time during which theform intervals will be performed.

FIG. 18A shows an exemplary form intervals screen 800 b displayed on thedisplay screen 24 of the activity monitoring device 20 b, whichinstructs the user to begin an form interval. The form interval screen800 b includes a title 808 (e.g., “Interval 1”) indicating whichparticular form interval in the sequence of form intervals is to beperformed, instructions 810 (e.g., “Run at 175 SPM for 1:00”)instructing the user maintain a target value for a gait metric for aparticular duration of time, and a start button 812 (e.g., “GO”) whichcan be pressed by the user to begin the form interval. In oneembodiment, the processor 27 b is configured to display the formintervals screen 800 b before each form interval is performed. In atleast one embodiment, the target value for the gait metric (e.g., 175steps per minute) corresponding to the form interval depends upon a paceof the user immediately before the start of the form interval. In otherembodiments, the target value for the gait metric may be predeterminedbased on an average pace during previously recorded runs of the user.

FIG. 18B shows an exemplary form intervals screen 800 c displayed on thedisplay screen 24 of the activity monitoring device 20 b, which showsreal-time monitoring of the gait metric during a form interval. The forminterval screen 800 c includes a comparison of a target gait metric 814(e.g., “175 SPM 1:00”) and a real-time gait metric 816 (e.g., a value“178” for the “CADENCE (SPM)” gait metric). Additionally, the forminterval screen 800 c includes a timer 818 (e.g., “0:47 REMAINING”)which indicates an amount of time remaining in a particular forminterval. In one embodiment, the processor 27 b is configured to displaythe form intervals screen 800 b during each form interval that isperformed.

FIG. 19 shows an exemplary gait coaching screen 900 displayed on thedisplay screen 34 of the electronic display device 30, which isdisplayed after a run that included form intervals. Much like the gaitcoaching screens 500 a and 500 d, the gait coaching screen 900 includesthe title 502 (e.g. “Killer Downtown Run”), which may be generatedautomatically or chosen by the user, the time/date 504 (e.g., “Saturday,Jun 6 at 3:57 pm”) that indicates the time and date at which the run wasperformed, and the encouragement message 506 (e.g., “NICE RUN,CATHERINE!”). However, the gait coaching screen 900 includes a gaitmetric comparison 902 which reflects that form intervals were performedduring the run.

The gait metric comparison 902 includes a title 904 (e.g., “Your Cadence(SPM)”), a gait metric 906 having a value and label (e.g., a value “167”for “YOUR AVERAGE”) and a gait metric target 908 having a value andlabel (e.g., a value “170-175” for the “TARGET RANGE”), which aresimilar to the features of previously discussed gait coaching screens.The gait metric comparison 902 includes a graph 910 which depicts a gaitmetric value 912 over time during the run and form intervals 914. In oneembodiment, the processor 37 is configured to shade, color, or otherwisemark intervals of time in the graph 910 that correspond to the formintervals 914. Finally, the gait coaching screen 900 includes gaitmetric tips 916, which are similar to the gait metric tips discussedwith respect to previously described gait coaching screens.

The herein described applications (e.g., the client-side activitytracking application and the network-side activity tracking application)improve the functioning of the electronic display device 30, the remotesystem server 40, and/or activity tracking devices 20 a, 20 b,respectively or in combination by enabling it/them to provide gaitcoaching which is individualized to a physiological characteristics of aparticular user and to the pace of a particular run. As discussed above,the method 200 improves upon the functioning of the processor 47 of thesystem server 40 and/or the processor 37 of the electronic displaydevice 30 by providing a gait metric model that advantageouslyincorporates running data from a broad diverse population of users, butalso specifically considers running data from expert runners.Particularly, the ‘shape’ of the gait metric model is determined basedon running data from a broad diverse population of users, therebyproviding a robust estimation of how pace and physiologicalcharacteristics such height, age, weight, and sex influence the valuefor the at least one gait metric. At the same time, the offset and/orY-axis intercept of the gait metric model is determined based on expertrunning data from a more limited set of expert users, thereby providinga better indication of what an optimal and/or efficient value for the atleast one gait metric. Devices that are able to use the gait metricmodel developed in this way can operate more efficiently to provideuseful and effective gait coaching to users.

Particularly, as discussed above, the method 300 improves upon thefunctioning of the processor 37 of the electronic display device 30and/or the processor 27 a, 27 b of the activity monitoring device(s) 20a, 20 b by advantageously providing the runner with an evaluation of hisor her running gait in comparison with an optimal running gait that isdetermined based on the particular physiological characteristics of theindividual and based on the particular pace of the individual run. Inthis way, the user can be confident in how to modify his or her runninggait during his or her next run. Similarly, the method 600 improves uponthe functioning of the processor 37 of the electronic display device 30and/or the processor 27 a, 27 b of the activity monitoring device(s) 20a, 20 b by advantageously providing the runner with a real-timeevaluation of his or her running gait in comparison with an optimalrunning gait that is determined based on the particular physiologicalcharacteristics of the individual and based on the real-time pace duringthe run. In this way, the user can more easily learn to run with anideal and efficient gait.

In another embodiment, a permanent copy of the programming instructionsfor individual ones of the aforementioned applications (e.g., theclient-side activity tracking application and the network-side activitytracking application) may be placed into permanent storage devices (suchas e.g., memory 28 a, 28 b, memory 38, and/or memory 48) duringmanufacture thereof, or in the field, through e.g., a distributionmedium (not shown), such as a compact disc (CD), or through thetransmitter/receiver 29 a, 29 b and/or the transmitter/receiver 39 (fromthe system server 40). That is, one or more distribution media having animplementation of the agent program may be employed to distribute theagent and program various computing devices.

The foregoing detailed description of one or more exemplary embodimentsof the activity tracking application has been presented herein by way ofexample only and not limitation. It will be recognized that there areadvantages to certain individual features and functions described hereinthat may be obtained without incorporating other features and functionsdescribed herein. Moreover, it will be recognized that variousalternatives, modifications, variations, or improvements of theabove-disclosed exemplary embodiments and other features and functions,or alternatives thereof, may be desirably combined into many otherdifferent embodiments, systems or applications. Presently unforeseen orunanticipated alternatives, modifications, variations, or improvementstherein may be subsequently made by those skilled in the art which arealso intended to be encompassed by the appended claims. Therefore, thespirit and scope of any appended claims should not be limited to thedescription of the exemplary embodiments contained herein.

It will be appreciated that the various ones of the foregoing aspects ofthe present disclosure, or any parts or functions thereof, may beimplemented using hardware, software, firmware, tangible, andnon-transitory computer readable or computer usable storage media havinginstructions stored thereon, or a combination thereof, and may beimplemented in one or more computer systems.

What is claimed is:
 1. A method of displaying run data, comprising:receiving first historical run data regarding runs of a first pluralityof users, the first historical run data including, for each run, a gaitmetric for the respective run, a pace during the respective run, and atleast one physiological characteristic of the respective user, the gaitmetric being at least one of (i) a stride cadence and (ii) a stridelength; determining regression coefficients for at least one gait metricmodel by performing a regression of the first historical run data, theat least one gait metric model being configured to output the gaitmetric given inputs of pace and the at least one physiologicalcharacteristic; receiving second historical run data regarding runs of asecond plurality of users, the second historical run data including, foreach run, the gait metric for the respective run, a pace during therespective run, and the at least one physiological characteristic of therespective user; determining a regression constant for the at least onegait metric model by performing a regression of the second historicalrun data; receiving first run data from an activity monitoring devicecarried by a first user during a first run of the first user;determining the gait metric for the first run based on the first rundata; determining a pace during the first run based on the first rundata; determining a gait metric target for the first run based on the atleast one gait metric model, the determined regression coefficients, thedetermined regression constant, the pace during the first run, and theat least one physiological characteristic of the first user; anddisplaying a comparison of the gait metric with the gait metric targetto the first user on a personal electronic device associated with thefirst user.
 2. The method of claim 1, the displaying the comparisonfurther comprising: displaying the comparison after a completion of thefirst run by the first user and prior to a beginning of a second run bythe first user, the second run being subsequent in time compared to thefirst run.
 3. The method of claim 2, further comprising: displayinginstructions to the first user regarding the gait metric based on thecomparison on the personal electronic device associated with the firstuser after the completion of the first run by the first user and priorto the beginning of the second run by the first user.
 4. The method ofclaim 3, the displaying the instructions further comprising: displayingthe instructions to the first user in response to the first userbeginning the second run.
 5. The method of claim 2, the displaying thecomparison further comprising: if the first user has recorded run datafor less than a predetermined number of runs, then displaying an averageof the gait metric in comparison with an average of the gait metrictarget over the first run; and if the first user has recorded run datafor at least the predetermined number of runs, then displaying a graphdepicting the gait metric in comparison with the gait metric target overtime during the first run.
 6. The method of claim 1, the displaying thecomparison further comprising: displaying the comparison of the gaitmetric with the gait metric target in relation to a previous comparisonof a previous gait metric and a previous gait metric targetcorresponding to a previous run that was performed prior to the firstrun.
 7. The method of claim 1, wherein the at least one physiologicalcharacteristic includes at least one of height, age, weight, and sex. 8.The method of claim 1, wherein the at least gait metric model includes apace term multiplied by a corresponding one of the regressioncoefficients and a pace squared term multiplied by a corresponding oneof the regression coefficients.
 9. The method of claim 8, wherein the atleast one gait metric model is expressed as:the gaitmetric=A*(height)+B*(weight)+C*(sex)+D*(age)+E*(pace)+F*(pace){circumflexover ( )}2+G, where A, B, C, D, E, and F are the regression coefficientsand G is the regression constant.
 10. A fitness tracking system: adatabase configured to store: first historical run data regarding runsof a first plurality of users, the first historical run data including,for each run, a gait metric for the respective run, a pace during therespective run, and at least one physiological characteristic of therespective user, the gait metric being at least one of (i) a stridecadence and (ii) a stride length; and second historical run dataregarding runs of a second plurality of users, the second historical rundata including, for each run, the gait metric for the respective run, apace during the respective run, and the at least one physiologicalcharacteristic of the respective user; and a data processor incommunication with the database, the data processor being configured to:receive the first historical run data and the second historical run datafrom the database; determine regression coefficients for at least onegait metric model by performing a regression of the first historical rundata, the at least one gait metric model being configured to output thegait metric given inputs of pace and the at least one physiologicalcharacteristic; determine a regression constant for the at least onegait metric model by performing a regression of the second historicalrun data; and transmit the regression coefficients and the regressionconstant for the at least one gait metric model to at least one personalelectronic device of at least one user.
 11. The fitness tracking systemof claim 10, wherein the first historical run data was generated atleast in part by a plurality of activity sensors carried by users in thefirst plurality of users during the runs of the first plurality ofusers, at least some sensors in the plurality of activity sensors beingintegrated with footwear worn by users in the first plurality of usersduring the runs of the first plurality of users.
 12. The fitnesstracking system of claim 10, wherein the second plurality of users is asubset of the first plurality of user that have recorded run data for atleast a predetermined threshold number of runs.
 13. A method ofdisplaying run data, comprising: receiving first historical run dataregarding runs of a first plurality of users, the first historical rundata including, for each run, a gait metric for the respective run, apace during the respective run, and at least one physiologicalcharacteristic of the respective user, the gait metric being at leastone of (i) a stride cadence and (ii) a stride length; determiningregression coefficients for at least one gait metric model by performinga regression of the first historical run data, the at least one gaitmetric model being configured to output the gait metric given inputs ofpace and the at least one physiological characteristic; receiving secondhistorical run data regarding runs of a second plurality of users, thesecond historical run data including, for each run, the gait metric forthe respective run, a pace during the respective run, and the at leastone physiological characteristic of the respective user; determining aregression constant for the at least one gait metric model by performinga regression of the second historical run data; receiving firstreal-time run data from an activity monitoring device carried by a firstuser during a first run of the first user; determining a real-time valueof the gait metric during the first run based on the first real-time rundata; determining a real-time pace during the first run based on thefirst real-time run data; determining a real-time gait metric targetduring the first run based on the at least one gait metric model, thedetermined regression coefficients, the determined regression constant,the real-time pace during the first run, and the at least onephysiological characteristic of the first user; and providingperceptible feedback to the first user during the first run depending ona comparison of the real-time value of the gait metric with thereal-time gait metric target to the first user using a personalelectronic device associated with the first user.
 14. The method ofclaim 13, the providing the perceptible feedback further comprising:displaying the perceptible feedback to the first user on a displaydevice associated with the first user.
 15. The method of claim 13, theproviding the perceptible feedback further comprising: audibly providingthe perceptible feedback to the first user using an audio deviceassociated with the first user.
 16. The method of claim 13, theproviding the perceptible feedback further comprising: providing afeedback message instructing the first user to adjust the gait metric inresponse to the real-time value of the gait metric being outside apredetermined range of the real-time gait metric target.
 17. The methodof claim 13, the providing the perceptible feedback further comprising:providing a feedback message instructing the first user to maintain thereal-time gait metric target at one of (i) a defined time during thefirst run and (ii) a defined distance traveled during the first run. 18.The method of claim 13, further comprising: providing an instruction tothe first user to maintain the real-time gait metric target during afirst interval of time during the first run; and monitoring whether thereal-time value of the gait metric is within a predetermined range ofthe real-time gait metric target during the first interval of time. 19.The method of claim 18, the providing the perceptible feedback furthercomprising: providing a feedback message indicating whether thereal-time value of the gait metric is within the predetermined rangeduring the first interval of time.
 20. The method of claim 18, theproviding the perceptible feedback further comprising: displaying acomparison of the real-time value of the gait metric with the real-timegait metric target during the first interval of time on a display deviceassociated with the first user.